这是将事件绑定到元素的正确方法

时间:2013-11-16 09:23:15

标签: jquery performance event-binding

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

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

以另一种方式,

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

这是正确而有效的方法吗?我正在使用rails 3。

1 个答案:

答案 0 :(得分:2)

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

  

直接和委派活动

     

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

     

委派事件的优势在于它们可以处理来自的事件   稍后添加到文档中的后代元素。通过   选择一个保证在当时存在的元素   委托事件处理程序附加,您可以使用委托事件   避免频繁附加和删除事件处理程序。

Reference