加载ajax后绑定自定义事件处理程序
具体来说,我希望将lightbox绑定到一个特定的元素。通常我会这样做:加载ajax后绑定自定义事件处理程序,ajax,bind,lightbox,jquery,Ajax,Bind,Lightbox,Jquery,具体来说,我希望将lightbox绑定到一个特定的元素。通常我会这样做:$('a.lightbox').lightbox()但这不起作用,因为我正在用AJAX进行一些加载。查看jQuery API,我找到了.bind()和.live(),但在AJAX.load()调用之后执行$('a.lightbox').bind('lightbox')时,我没有得到任何东西 我缺少什么?您需要添加一个回调函数来处理这个问题 $("#div").load(url, {}, function(){ $('a.li
$('a.lightbox').lightbox()代码>但这不起作用,因为我正在用AJAX进行一些加载。查看jQuery API,我找到了.bind()
和.live()
,但在AJAX.load()
调用之后执行$('a.lightbox').bind('lightbox')
时,我没有得到任何东西
我缺少什么?您需要添加一个回调函数来处理这个问题
$("#div").load(url, {}, function(){ $('a.lightbox').lightBox(); });
Bind对您没有帮助,因为事件不会触发事件。另一种方法是绑定到dom中较高的元素并检查目标类型。例如:
$('#div').bind('click', function (event) {
target = $(event.target);
if (target.hasClass('lightbox')) {
// do stuff here
}
});
不要往上走太远,否则你会被点击过多。太完美了。很好用,我想我根本不需要使用.bind()。另外,这也是为什么我会与bind混淆的原因——我知道它需要来自API的函数,但我没有任何这样的函数。