2011-01-20 60 views
0

我有一个页面,我做的:绑定到锚定在jQuery的

$(document).ready(function(){ 
    $("a.notifypop").bind('click', function(){ 
     // Do stuff 
     return false 
    }); 
}); 

当我更换页面的内容我也取代我已绑定的click事件到锚。结果是click事件不再被绑定到锚 - 在这种情况下该怎么做?我必须更换锚点。

  • 雅各

回答

2

您可以改为使用.delegate.delegate明显便宜.live并将绑定到与选择器匹配的所有元素。

查看.delegate

$("body").delegate("a.class", "click", function() { 
    // do stuff 
}); 

文档见Nick Craver's回答,为什么.delegate更好

+0

我所做的:$( “#notifypop”)委托( '', '点击',功能( )... – jriff 2011-01-20 17:03:51

0

如果你的新主播具有相同的类:

$('a.notifypop').live('click', function(){ 
}); 
1

您需要与.live,不.bind绑定。 .bind仅适用于在DOM负载下存在的对象。任何您通过JS,jQuery,AJAX等创建的页面加载时都不存在的内容必须与.live绑定以获得功能。

$("a.notifypop").live('click', function(){ 
    // Do stuff 
    return false; 
});