我有一个页面,我做的:绑定到锚定在jQuery的
$(document).ready(function(){
$("a.notifypop").bind('click', function(){
// Do stuff
return false
});
});
当我更换页面的内容我也取代我已绑定的click事件到锚。结果是click事件不再被绑定到锚 - 在这种情况下该怎么做?我必须更换锚点。
- 雅各
我有一个页面,我做的:绑定到锚定在jQuery的
$(document).ready(function(){
$("a.notifypop").bind('click', function(){
// Do stuff
return false
});
});
当我更换页面的内容我也取代我已绑定的click事件到锚。结果是click事件不再被绑定到锚 - 在这种情况下该怎么做?我必须更换锚点。
您可以改为使用.delegate
。 .delegate
明显便宜.live
并将绑定到与选择器匹配的所有元素。
$("body").delegate("a.class", "click", function() {
// do stuff
});
文档见Nick Craver's回答,为什么.delegate
更好
如果你的新主播具有相同的类:
$('a.notifypop').live('click', function(){
});
您需要与.live
,不.bind
绑定。 .bind
仅适用于在DOM负载下存在的对象。任何您通过JS,jQuery,AJAX等创建的页面加载时都不存在的内容必须与.live
绑定以获得功能。
$("a.notifypop").live('click', function(){
// Do stuff
return false;
});
我所做的:$( “#notifypop”)委托( '', '点击',功能( )... – jriff 2011-01-20 17:03:51