我一直试图让我的头脑在一段时间内做到这一点。也许我错过了什么......
说我有插件模式:
(function($){
$.fn.myPlugin = function(options){
var bindEvents = function(elem){
// Bind the events here.
// EDIT
// My first first thought would be to pass the element to the method
// but what you are doing here is actually just bind the event to existing
// elements and not allowing for ajax added events.
$(document.body).on("click", $(elem), function(event){
// Do your thang....
});
};
return this.each(function(){
bindEvents(this);
});
};
}(jQuery||_jQuery));
如何使用$.on()
函数将我想要的事件绑定到对象,以便我可以处理通过Ajax请求加载的任何dom元素?
为了澄清我的意思,我在代码中添加了一些注释。
答案 0 :(得分:0)
目前我能想到的最佳解决方案......
(function($){
$.myPlugin = function(selector, options){
var bindEvents = function(elem){
// Bind the events here passing the selector.
$(document.body).on("click", selector, function(event){
// Do your thang....
});
};
bindEvents(this);
// Return the jQuery function to allow chaining;
return $(this);
};
}(jQuery||_jQuery));
然后可以使用以下方法调用:
$.myplugin(selector,options);