我有一张地图,上面有大约3-5个div。当有人单击div时,它会翻转,并在div的背面显示一个文本。但如果有人将光标放在div上并滚动,地图应该会像往常一样进行缩放。
我在另一个问题中发现了这个:http://jsfiddle.net/ZqfTX/。有没有办法说
dblclick: function(){$(this).[IGNORE]}?
我的想法只是一个想法。如果你有其他方法,那就更好了。
发布于 2013-06-27 21:26:35
这应该能满足你的需求。这是一个更新的,它设置超时并防止双击发生。在允许第二次单击之前,您可以设置所需的时间。它还检测鼠标滚轮的滚动,并根据滚动的方向向上或向下发出警报。
从你的操作和评论来看,我相信这应该能实现你所要求的一切。至于你的div的动画,我不知道你在用它做什么,所以需要改变这个部分来做你想做的事情。
下面的代码片段是从另一篇文章中找到并修改的,非常感谢该帖子:
防止双击
jQuery('.flip').click(function() {
var $this = jQuery(this);
if ($this.data('activated')) return false; // Pending, return
$this.data('activated', true);
setTimeout(function() {
$this.data('activated', false)
}, 1500); // Time to wait until next click can occur
doFlip(); // Call whatever function you want
return false;
});
function doFlip() {
if ($('.flip').find('.card').hasClass('flipped')) {
$('.flip').find('.card').removeClass('flipped');
} else {
$('.flip').find('.card').addClass('flipped');
}
}另外,如果您不希望用户能够再次单击div,请查看jQuery的事件处理程序附件,因为它只允许每个元素执行一次。不确定你是否想要第二次点击它的能力,但我想我会把它扔在那里以防万一。
发布于 2013-06-27 22:01:34
如果你想防止双击,你可以尝试使用event.preventDefault
$(".yourClass").dblclick(function (e) {
e.preventDefault();
});发布于 2013-06-27 23:47:52
看起来您必须为要传递到地图的事件绑定事件处理程序,并手动执行缩放操作。这可能会有帮助:https://code.google.com/p/jquery-ui-map/
https://stackoverflow.com/questions/17344027
复制相似问题