繁体   English   中英

jQuery.animate() - 单击事件不会触发

[英]jQuery.animate() - click event does not fire

在更改top / left时使用.animate()时,click事件似乎不会触发。 例如:

<div style="width: 640px; height: 480px; position: relative;">
<div id="child" onclick="alert('ok')" style="position: relative;">Some text</div>
</div>

使用以下脚本:

$('#child').animate({ top: 200, left: 200 }, 2000);

单击div时,您没有看到警报 - 您必须等待元素先停止移动。 有什么方法可以解决这个问题吗? :(

编辑:我的例子对我的问题不准确。 对不起大家! 谢谢你的快速解答。

编辑:这里有一个更新的例子,问题转载: http//jsfiddle.net/M9udv/8/我也在使用最新的Chrome。

再次编辑:好的,我正在使用jquery.live("click", function() {}); 当我还包括$(targ).stop(true);时它似乎工作$(targ).stop(true); 在功能内。

它确实有效。
也许,因为它是动画的,你很难点击实际元素(相当小)。
看看这里: http//jsfiddle.net/GA5Re/

我相信它确实有效但是元件周围的线框非常小,并且在移动时很难点击。 我做了一个这样的工作示例(并在几个不同的浏览器中测试)和一些填充,使元素更容易点击: http//jsfiddle.net/M9udv/

为什么不简单地将警报移动到您的jQuery代码中:

$('#child').click(function(){
alert('ok');
$(this).animate({ top: 200, left: 200 }, 2000);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM