bind
バインドを解除した後にイベントを実行すると、そのイベントの情報はありませんprevious handler.
したがって、 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 !!');
}