[英]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.