简而言之,我有一个页面正在使用 jquery load() 加载内容。问题是当我尝试选择时。
$('a.selected_class').click(function(e){
alert('alert');
e.preventDefault();
});
(内部文档就绪)在第一页上工作,但在任何后续页面上(使用 $(this).load(url); 加载到 div 中),选择器停止工作。
有小费吗?
简而言之,我有一个页面正在使用 jquery load() 加载内容。问题是当我尝试选择时。
$('a.selected_class').click(function(e){
alert('alert');
e.preventDefault();
});
(内部文档就绪)在第一页上工作,但在任何后续页面上(使用 $(this).load(url); 加载到 div 中),选择器停止工作。
有小费吗?
并不是它停止工作。它仅将click
处理程序绑定到运行时(页面加载时)存在的那些元素。
您可以将.delegate()
处理程序放在<div>
加载动态的处理程序上。
$('#mydiv').delegate('a.selected_class','click',function(e){
alert('alert');
e.preventDefault();
});
处理程序放置在#mydiv
元素上,当click
事件冒泡到它时,它会测试事件是否发生在匹配的元素上a.selected_class
。
该.live()
方法做同样的事情,但它是为整个文档做的,所以它通常不是一个可取的方法。