可以在dom ready和jQuery的窗口加载中使用相同的事件监听器吗?

时间:2012-05-21 11:39:04

标签: jquery

我已将选择列表的选项更改为事件监听器时使用,如下所示:

$('#mySelect').change(function() {
        functionToRun();
});

可以多次使用事件监听器吗?如下所示。我知道这个确切的例子没有任何意义,但对于工作条件的更复杂的代码,如果我使用事件监听器两次,我将更容易维护我的代码。

$('#mySelect').change(function() {
        functionToRun();
});

//other code

$('#mySelect').change(function() {
        functionToRunTwo();
});

另外,我有一些在dom上运行的代码和一些在窗口加载时运行的代码。在两个实例中使用相同的事件侦听器是否可以?

2 个答案:

答案 0 :(得分:0)

您可以这样做,但如果您想根据上下文使用该功能,请确保取消绑定您不需要的功能。

答案 1 :(得分:0)

它将按预期工作:两个事件侦听器都将被触发,并且肯定没有问题。来自jQuery.bind()(由jQuery.change()内部调用):

  

当事件到达元素时,所有处理程序都绑定到该事件   触发元素的类型。如果有多个处理程序   注册后,他们将始终按照他们的顺序执行   界。所有处理程序执行完毕后,事件继续执行   正常事件传播路径。

我不确定这是否能回答你的第二个问题。