2012-03-29 5 views
2

ネイティブのjavascriptを使用してonmoveというイベントを発生させることはできますか。これはIE専用です。 これを行うと、私はそれを動作させることができます。jqueryからネイティブjsイベントを起動する

document.getElementById("device-module").fireEvent("onmove"); 

ここでは、カスタムjqueryプロトタイプにidを渡す必要はありません。私はすでに、その要素のjavascriptネイティブfireEventを呼び出す必要がある要素は何かを知っています。これは可能ですか?js native fireEventメソッドを使用するには、document.getElementById()を使用してDOM要素を取得する必要がありますか。 eachイテレータを使用する場合に使用this.fireEvent("onmove");

this

$.fn.custom = function() { 

    return this.each(function() { 
      var _this = $(this); 
     _this.fireEvent("onmove"); 

     }); 

}; 
+1

あなたは "ネイティブイベントを" 必要な理由? – Bergi

答えて

2

each()thisの値がDOM要素そのものです。この方法で直接アクセスすることができます。あなたはネイティブの要素のうち、jQueryオブジェクトを作成しているのはなぜ$()

return this.each(function() { 
    //the value of "this" in here IS the DOM element 
    this.fireEvent('onmove'); 
}); 
1

はすでにDOM要素を指します。

0

に再びラップする必要はありません

 var _this = $(this); 

ちょうどそれを使用します。

 return this.each(function() { 
      this.fireEvent("onmove"); 
     }); 
関連する問題