2012-03-29 5 views
2

Gibt es sowieso ich kann native Javascript verwenden, um ein Ereignis namens onmove ausgelöst, die nur für IE ist. Ich kann es zur Arbeit bringen, wenn ich das tue.Brennen native js Ereignis von jquery

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

Dieses Problem hier ist, ich will nicht über eine ID in den benutzerdefinierten Jquery Prototyp haben, zu übergeben. Ich weiß bereits, was das Element ist Ich muss nur Javascript native FireEvent auf diesem Element aufrufen. Ist das möglich oder muss ich immer das dom-Element von document.getElementById() abrufen, bevor ich die native native fireEvent-Methode verwenden kann.

$.fn.custom = function() { 

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

     }); 

}; 
+1

Warum Sie eine "native Ereignis" brauchen? – Bergi

Antwort

2

Der Wert des this in einem each() ist das DOM-Element. Sie können auf diese Weise direkt darauf zugreifen. keine Notwendigkeit wieder zu wickeln in $()

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

Verwenden this.fireEvent("onmove");

this weist bereits auf das Element bei dem DOM each Iterator.

0

Warum sind Sie ein jQuery-Objekt aus Ihrem Mutterelement zu schaffen?

 var _this = $(this); 

Sie es einfach verwenden:

 return this.each(function() { 
      this.fireEvent("onmove"); 
     }); 
Verwandte Themen