我喜欢 jQuery 1.3 中的新直播活动。我的问题是这次活动的表现。我知道使用 live 优于 click/bind('click') 的优点,但是在 click/bind('click') 上使用它是否会影响性能?
如果没有,你为什么要使用 click 或 bind('click') ?
我喜欢 jQuery 1.3 中的新直播活动。我的问题是这次活动的表现。我知道使用 live 优于 click/bind('click') 的优点,但是在 click/bind('click') 上使用它是否会影响性能?
如果没有,你为什么要使用 click 或 bind('click') ?
如果没有,你为什么要使用 click 或 bind('click') ?
因为$.live()有一些明显的缺点
- 实时事件不会以传统方式冒泡,并且
无法使用 stopPropagation(在 jquery 1.4.4 中更改)或 stopImmediatePropagation 停止。例如,以两个点击事件为例——一个绑定到“li”,另一个绑定到“li a”。如果在内部锚点上发生点击,则将触发两个事件。这是因为当 $("li").bind("click", fn); 绑定您实际上是在说“每当 LI 元素上或 LI 元素内发生单击事件时,都会触发此单击事件。” 要停止对实时事件的进一步处理,fn 必须返回 false。- 实时事件目前仅在针对选择器使用时才有效。例如,这会起作用: $("li a").live(...) 但这不会: $("a", someElement).live(...) 这也不会: $("a ").parent().live(...).
看到这个。
至于为什么您会使用 click 或 bind 而不是 live ,答案是因为您不需要额外的功能。