2011-12-21 7 views
0

jqueryの仕組みを理解する助けが必要です。私は自分のゲームにawesomiumを使用していますが、アプリケーションからjqueryオブジェクトの関数を呼び出す際に問題が発生しています。ここに私の質問です。jqueryはjsオブジェクトをどのように扱いますか

私はこの

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

のようなコードを持っていると私はイベントに

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

これはjavascriptの質問の詳細ですので、私を行い

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

をトリガしていたと私が使用しているアプリケーションの機能について少し背景を与えるつもりです。 Awesomiumには、パラメータがjavascriptオブジェクト、オブジェクト内の関数名、関数のパラメータとして使用される関数があります。ですから、私はパラメータを渡しています。

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

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

EDIT:問題の解決方法が見つかりました。私はjQueryオブジェクトがパラメータであるとグローバル関数、トリガーを作成しました:

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

jQueryのセレクタから基礎となる「本当の」DOMオブジェクトへのアクセスのおかげで、 Gasim

+0

ありがとうございました! – Gasim

+0

解決策を回答として提供することができます。 –

答えて

2

は、あなたがget functionを使用する必要があります - I Awesomiumを知らないが、あなたのコードからこのように見えるのはあなたが必要とするものです。 jQueryセレクタは複数の項目に一致することができるので、get()は単一のオブジェクトではなく配列を返します。

だから、最初のパラメータは、このようなものになります: -

jsobject: $('#test').get(0); 
+0

+1確かに。 'jQuery'オブジェクトは選択された要素をラップし、' jQuery'インスタンスはその関数から返された(スカラー関数の例外である)例外ではないため、jQuery呼び出しを流暢な操作。 – HackedByChinese

+0

それは完璧な意味を持っていますが、何らかの理由でうまく動作しませんでした。 – Gasim

1

私はAwesomiumを知らないが、おそらくJSObjectのは、グローバル変数の名前ではなく、表現する必要があります。コードは次のようになります。

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

jsobject: "awe_jsobject" 
+0

あなたのバージョンは動作しませんでした。知りません。私はもう少しそれを調べるつもりです。 – Gasim

関連する問題