2012-03-02 8 views
0

からjQueryのユーザー定義関数を呼び出します。は、私はこれを持ってSilverlightの

これは動作していないよう:

ScriptObject jsObject = (ScriptObject)HtmlPage.Window.GetProperty("callMe"); 
jsObject.InvokeSelf('This is a message'); 

は、どのように私はSilverlightのからそれを呼び出すことができるようにcallMe機能をさらすことに行きますか?

回答:

Tomalakを(私は十分に担当者を持っていないので、私はここで答えなければならない)、あなたは正しい方向に私を指摘 ! それは実際に限り、あなたはそれwindowオブジェクトのプロパティにするとして、両方の方法を動作します:これはmyObjので、あなたのコードでは不可能であり、その内容はあなたのJavaScript関数へローカルある

<script type="text/javascript"> 

    (function ($) { 

     var myObj = { 

      callThis:function(msg){ 
       console.log("Internal call:" + msg); 
      } 

     }; 
    window.myObj = myObj; 

    window.callMe = function (msg) { 
     console.log("External call:" + msg); 
     } 

    })(jQuery); 
</script> 

<script type="text/javascript"> 
    window.callMe("well, hello there..."); 
    window.myObj.callThis("... and hello you!"); 
</script> 

答えて

1

代わりにwindowオブジェクトのプロパティにしてください。

(function ($) { 
    window.callMe = function (msg) { 
    console.log(msg); 
    } 
})(jQuery); 
+0

これは機能しません。私が手に '予期しないトークンを(' (関数($){ window.callMe:機能(MSG){ はconsole.log(MSG);} })(jQueryの); ます。 Jonah

+0

@Jonah:申し訳ありませんが、私の悪い。再試行してください。 – Tomalak

+0

Tomalak:私は私の質問に答えとして答えを与えました。あなたのポイントを得る!ありがとう! – Jonah

関連する問題