我正在寻找一种在纯JavaScript代码中表示jQuery的“on”和“off”功能的方法。
例如:
jQuery("my_selector_here").on("click", function(){
// some code here...
})
应以最(完全)准确的方式表示,例如:
myobj.fn.on = function(){
// pure javascript code here...
}
提前致谢!
答案 0 :(得分:3)
最原生的方法是使用DOM的Element.prototype.addEventListener
方法。这看起来非常简单,如
elem.addEventListener('click', function( event ) {
}, false);
也就是说,除了其他一些魔法之外,jQuery会在下面调用什么。图书馆处理的最大问题是旧的Internet Explorer在Elements上添加事件的语法不同。那些使用了elem.attachEvent
方法,这有一些细微的差别。
天真地说,我们可以添加到Elements.prototype
。例如
Element.prototype.on = function( name, callback ) {
this.addEventListener( name, callback, false );
};
..然后我们可以像
一样使用它document.body.on('click', function() {
// code
});