Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery stopPropagation在chrome上不起作用+;生活方式_Jquery_Google Chrome - Fatal编程技术网

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机上工作得很好。