为什么第二个代码比第一个代码好?为什么不直接抓取.vote a
,而不是抓取body
标签?我正在使用AJAX/JSON/PHP创建一个投票系统:
$('.vote a').click(function() {});
$('body').on('click','.vote a',function(){});
第二个例子是一个委托事件处理程序。它将click
事件附加到主体,以便它可以应用于任何.vote a
元素,这些元素在页面加载后附加到DOM。
如果有很多元素需要附加相同的事件处理程序,那么即使在DOMReady之后没有附加元素,使用委托模型也可能会提高性能。
这种做法被称为event-delegation
。当为运行时(动态)创建的元素绑定事件时,这将非常有用。