Boj*_*les 3 jquery micro-optimization
我已经使用$("body").delegate(".selector", "click", function() { ... });了一段时间了,我想知道:如果我将click事件委托给更接近实际元素的包含元素,例如一个table完整的按钮,这会比将同一事件委托给更快body,事件不必泡到目前为止?
基本HTML示例:
<html>
<body>
<table>
<tr>
<td>
<input type="button" value="Delegated element">
</td>
</tr>
<!-- More, identical rows -->
</table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
第一个例子,使用body:
$('body').delegate('input[type="button"]', 'click', function() {
// Do things
});
Run Code Online (Sandbox Code Playgroud)
第二个例子,使用table:
$('table').delegate('input[type="button"]', 'click', function() {
// Do things
});
Run Code Online (Sandbox Code Playgroud)
上面两个例子中的哪一个更快,如果一个比另一个快,为什么?