0

我读到事件可以绑定到一个元素

$('btn-submit').bind('click', function(){
  // your custom code
});

以另一种方式,

$(document).on('click', 'btn-submit', function(){
  // your custom code
});

哪个是正确和最有效的方法?我正在使用导轨 3。

4

1 回答 1

2

第一个用于绑定在绑定时存在于 DOM 中的事件,称为直接绑定,而第二个是在绑定事件时元素不存在但稍后添加时需要事件委托。

直接和委托事件

事件处理程序仅绑定到当前选定的元素;当您的代码调用 .on() 时,它们必须存在于页面上。为确保元素存在并且可以被选择,请在页面 HTML 标记中的元素的文档就绪处理程序内执行事件绑定。如果将新 HTML 注入页面,请在将新 HTML 放入页面后选择元素并附加事件处理程序。或者,使用委托事件来附加事件处理程序,如下所述。

委托事件的优点是它们可以处理来自以后添加到文档的后代元素的事件。通过选择在附加委托事件处理程序时保证存在的元素,您可以使用委托事件来避免频繁附加和删除事件处理程序的需要。

参考

于 2013-11-16T09:24:54.970 回答