0

jqueryの仕組みを理解するのに助けが必要です。ゲームに awesomium ui を使用していますが、アプリケーションから jquery オブジェクトの関数を呼び出すのに問題があります。これが私の質問です。

このようなコードがあるとします

<div id="test">
  <span>Hello World</span>
</div>

そして私はイベントを引き起こしています

$('#test').trigger('click');

どちらがしますか

$('#test').on('click',function() { $(this).css('color','red'); }

これは JavaScript に関する質問なので、使用しているアプリケーション関数の背景を少し説明します。Awesomium、機能を持っています

awe_webview_call_javascript_function

これは、パラメーターを javascript オブジェクト、オブジェクト内の関数名、および関数のパラメーターとして受け取ります。だから、私はパラメータを次のように渡しています

jsobject: "$('#test')"
function: "trigger"
parameters: "click"

プログラムが動作せず、その理由が JS オブジェクトであることはわかっています。それで、私の質問は、jquery がそれらの要素を js オブジェクトとしてどのように実装するのかということです。どうすればアクセスできますか?

編集:問題の解決策が見つかりました。パラメータである jquery オブジェクトを使用して、グローバル関数トリガーを作成しました。

function trigger(jobj, e, params) {
    $(jobj).trigger(e,params);
}

ありがとう、ガシム

4

2 に答える 2

2

jQuery セレクターから基になる「実際の」DOM オブジェクトにアクセスするには、get 関数を使用する必要があります。jQuery セレクターは複数の項目に一致する可能性があるため、get() は単一のオブジェクトではなく配列を返すことを忘れないでください。

したがって、最初のパラメーターは次のようになります。

jsobject: $('#test').get(0);
于 2011-12-21T10:54:07.230 に答える
1

Awesomiumはわかりませんが、おそらくjsobjectは式ではなく、グローバル変数の名前である必要があります。コードは次のようになります。

window.awe_jsobject = $('#test');

jsobject: "awe_jsobject"
于 2011-12-21T10:57:17.410 に答える