当你bind
解除绑定后的事件时,它没有任何信息previous handler.
所以你需要分配处理程序every time you bind the event
。
$(".class1 a, .class2 a").bind(handler);
$(".trigger").click(function(){
$(".class1 a, .class2 a").unbind();
$('html, body').stop()
.animate({scrollTop: $('#container')
.offset().top}, 1000);
$(".class1 a, .class2 a").bind(handler);
});
function handler(e){
alert('Hey !!');
}
也使用.on() /.off()
代替,.bind()/.unbind()
因为前者已被后者取代..
$(".trigger").on('click', function(){
$(".class1 a, .class2 a").off('click');
$('html, body').stop()
.animate({scrollTop: $('#container')
.offset().top}, 1000);
$(".class1 a, .class2 a").on('click' , handler);
});
function handler(e){
alert('Hey !!');
}