【发布时间】:2012-01-06 01:51:49
【问题描述】:
html:
<div id="a">
<a id="a0" href="#"></a>
<div id="b"><a id="b0" href="#"></a><div>
<div>
jQuery:
$('#a').delegate('a', 'click', function(){ //do stuff });
也代表#b0。是否有任何巧妙的选择方法来忽略 #b ?
注意 /// div 内的链接是动态添加和分离的 ///
ty
【问题讨论】:
-
值得注意的是,虽然 jQuery 1.7+ 支持
.delegate(),但新的.on()函数取代了它,因此更具前瞻性(1.7 还提高了事件绑定的性能)。语法几乎相同,除了事件('click')和选择器(示例中的'a'或 Luke 建议的变体)相反。 -
.on() vs .delegate():性能速度和浏览器兼容性如何?
-
.on() 本质上是 .bind() 和 .delegate() 合二为一,由于重构,性能提升是巧合。 .on() 会更快(只是因为它被重构了)并且两者都应该同样跨浏览器兼容。
标签: javascript jquery html navigation delegation