我有一个页面,我这样做:
$(document).ready(function(){
$("a.notifypop").bind('click', function(){
// Do stuff
return false
});
});
当我替换页面内容时,我还将已绑定click事件的锚替换为。结果是click事件不再绑定到锚点 - 在那种情况下该怎么办?我必须更换锚。
答案 0 :(得分:2)
您可以改用.delegate
。 .delegate
比.live
便宜得多,并且会绑定到与选择器匹配的所有元素。
请参阅.delegate
$("body").delegate("a.class", "click", function() {
// do stuff
});
请参阅Nick Craver's回答为什么.delegate
更好
答案 1 :(得分:1)
您需要与.live
绑定,而不是.bind
。 .bind
仅适用于DOM加载时存在的对象。您在页面加载时不存在的通过JS,jQuery,AJAX等创建的任何内容都必须与.live
绑定才能实现。
$("a.notifypop").live('click', function(){
// Do stuff
return false;
});
答案 2 :(得分:0)
如果您的新锚具有相同的类:
$('a.notifypop').live('click', function(){
});