我经常在Jquery / Jquery Mobile中多次触发一些事件绑定,尤其是在使用新的Jquery on()和Jquery live()时;
示例:
$(document).on("pagebeforechange", function (e, data) {
// stuff
});
我想知道以下内容:
如果我有如上所述的多个绑定,它们每次会发射一次,还是会在我使用绑定时发射多次。
例:
3 document / pagebeforechange listeners =每个听众1x
3 document / pagebeforechange listeners =每个监听器3x
感谢您的澄清!
答案 0 :(得分:0)
每次调用.bind()
,.on()
,.delegate()
等都会创建一个新的,唯一的事件处理程序并排队等候。
所以是的,每次调用这些方法都会触发一个新的处理程序。不要马虎。
例如
<body>
<div>
<span>foo</span>
</div>
</body>
$('span').on('click', function() {
alert('span #1');
});
$('span').on('click', function() {
alert('span #2');
});
当我们点击跨度时,这会提醒span #1
后跟span #2
。