我有一张地图,上面有大约 3-5 个 div。当有人点击一个 div 时,它会翻转,并且 div 的背面会出现一个文本。但是,如果有人在 div 上有光标并滚动,则地图应该像往常一样运行并缩放。
我在另一个问题中发现了这一点:http: //jsfiddle.net/ZqfTX/。有没有办法说
dblclick: function(){$(this).[IGNORE]}
?
我的想法只是一个想法。如果您有其他方法可以做到这一点,那就更好了。
我有一张地图,上面有大约 3-5 个 div。当有人点击一个 div 时,它会翻转,并且 div 的背面会出现一个文本。但是,如果有人在 div 上有光标并滚动,则地图应该像往常一样运行并缩放。
我在另一个问题中发现了这一点:http: //jsfiddle.net/ZqfTX/。有没有办法说
dblclick: function(){$(this).[IGNORE]}
?
我的想法只是一个想法。如果您有其他方法可以做到这一点,那就更好了。
这应该照顾你想要的。这是一个更新的jsFiddle,它设置了超时并防止发生双击。在允许第二次单击之前,您可以设置任何所需的时间。它还检测鼠标滚轮的滚动,并根据滚动方向向上或向下发出警报。
从您的 OP 和评论来看,我相信这应该可以完成您所要求的一切。至于您的 div 的动画,我不知道您在用它做什么,因此需要更改该部分以执行您想要的操作。
下面的代码片段是从其他 SO 帖子中找到并修改的,非常感谢该海报:如何使用 jQuery 禁用双击或超时点击?
防止双击
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 的.one()事件处理程序附件,因为它只允许每个元素执行一次。不确定您是否希望能够再次单击它,但我想我会把它扔在那里以防万一。
看起来您必须为要传递到地图的事件绑定事件处理程序并手动执行缩放操作。这可能会有所帮助: https ://code.google.com/p/jquery-ui-map/
如果要防止双击,可以尝试使用event.preventDefault
$(".yourClass").dblclick(function (e) {
e.preventDefault();
});