Jquery stopPropagation在chrome上不起作用+;生活方式
在这两项中,我调用一个特定的函数Jquery stopPropagation在chrome上不起作用+;生活方式,jquery,google-chrome,Jquery,Google Chrome,在这两项中,我调用一个特定的函数 $('.item >li> div').click(function (e) { $('.item .time').live('mousedown', function (e) { e.stopPropagation(); 在opera中,firefox很好地实现了这一点。在chrome中,当我单击time div时,我的函数将运行两次而不是一次。 其中提到了这一点 因为.live()方法处理 事件一旦传播到 在文档的顶部,它不是 有可能
$('.item >li> div').click(function (e) {
$('.item .time').live('mousedown', function (e) {
e.stopPropagation();
在opera中,firefox很好地实现了这一点。在chrome中,当我单击time div时,我的函数将运行两次而不是一次。
其中提到了这一点
因为.live()方法处理
事件一旦传播到
在文档的顶部,它不是
有可能阻止活病毒的传播
事件。类似地,事件由
.delegate()将始终传播到
它们所属的元素
委派;任何
它下面的元素已经有了
在
调用委托事件处理程序
好的,但是如何阻止函数运行两次呢?另外,如果我删除stopPropagation一行,firefox和opera也会有同样的问题
使用jquery 1.4.4
单击
和鼠标向下
是不同的事件,停止一个事件的传播不会以任何方式影响另一个事件。另外,live events在正常事件之后触发,因此无论如何,您必须在正常事件处理程序中调用stopPropagation
我作弊了,只是用jquery检查了一下
它是什么浏览器,如果它的chrome i
回来吧。它在ATM机上工作得很好
如果它与If语句一起工作,那么如果您删除了If语句并返回了If语句,那么它可能会工作 在
单击处理程序中指定.live()
处理程序是否有原因?您试图实现的总体目标是什么?@patrick dw:是的,该类是通过javascript动态创建的。目标是让主div和子div都在单击时运行事件。您的意思是,如果您单击一个.time
元素,那么同一li>div
中的所有其他.time
元素也应该运行其单击处理程序吗?HTML结构的一个示例可能有助于我理解。@patrick dw:没有,但它的父级将获得click事件。我作弊了,只是用jquery检查了一下它是什么浏览器,如果是chrome,我就返回。它在ATM机上工作得很好。