在这两个项目中,我称之为特定功能
$('.item >li> div').click(function (e) {
$('.item .time').live('mousedown', function (e) {
e.stopPropagation();
在歌剧中,firefox这个工作正常。在Chrome中,当我点击时间div我的功能运行两次而不是一次。 在jquerys Additional Notes中,它提到了这个
由于.live()方法处理 事件一旦传播到 文档的顶部,它不是 可以阻止直播传播 事件。同样,事件处理 .delegate()将始终传播到 它们所属的元素 委托;任何事件处理程序 它下面的元素已经有了 已被执行的时间 委托事件处理程序被调用。
好的,但是如何阻止我的功能被运行两次?如果我删除行stopPropagation火狐和歌剧将有同样的问题。
使用jquery 1.4.4
答案 0 :(得分:2)
click
和mousedown
是不同的事件,停止传播一个不会以任何方式影响另一个。此外,在正常事件发生后,实时事件会触发,因此您无论如何都必须在正常事件处理程序中调用stopPropagation
。
答案 1 :(得分:0)
我作弊,只是用jquery检查过 什么浏览器,如果它的铬我 回来吧它完美无瑕的ATM。
如果它与if语句一起工作,那么如果你删除了if语句并且刚刚返回,那么它可能会起作用。