我经常会在 Jquery/Jquery Mobile 中多次触发一些事件绑定(bind),特别是在使用新的 Jquery on() 与 Jquery live() 时;
示例:
$(document).on("pagebeforechange", function (e, data) {
// stuff
});
我想知道以下问题:
如果我有像上面这样的多个绑定(bind),它们会分别触发一次还是会根据我使用绑定(bind)的次数触发多次。
示例:
3 个 document/pagebeforechange 监听器 = 每个监听器 1x
3 个 document/pagebeforechange 监听器 = 每个监听器 3x
感谢您的澄清!
最佳答案
每次调用 .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
。
关于javascript - 事件触发的数量是否与 Jquery 中事件绑定(bind)的数量相关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9770190/