是一个事件触发的数字与Jquery中的事件绑定数量相关联?

时间:2012-03-19 12:27:19

标签: javascript jquery events jquery-mobile

我经常在Jquery / Jquery Mobile中多次触发一些事件绑定,尤其是在使用新的Jquery on()和Jquery live()时;

示例:

   $(document).on("pagebeforechange", function (e, data) {
      // stuff
      });

我想知道以下内容:
如果我有如上所述的多个绑定,它们每次会发射一次,还是会在我使用绑定时发射多次。

例:
3 document / pagebeforechange listeners =每个听众1x
3 document / pagebeforechange listeners =每个监听器3x

感谢您的澄清!

1 个答案:

答案 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