在jQuery中拖动后阻止点击事件 [英] prevent click event after drag in jQuery
本文介绍了在jQuery中拖动后阻止点击事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个可拖动的< div>
,带有点击
事件,没有任何拖拽事件。
I have a draggable <div>
with a click
event and without any event for drag.
但在我拖动< div>
后,点击事件将应用于< div>
。
but after i drag <div>
the click event is apply to <div>
.
拖动后如何防止点击事件?
how can prevent of click event after drag?
$(function(){
$('div').bind('click', function(){
$(this).toggleClass('orange');
});
$('div').draggable();
});
http://jsfiddle.net/prince4prodigy/aG72R/
推荐答案
我用<做了一个解决方案code> data 和 setTimeout
。也许比帮助类更好。
I made a solution with data
and setTimeout
. Maybe better than helper classes.
<div id="dragbox"></div>
和
$(function(){
$('#dragbox').bind('click', function(){
if($(this).data('dragging')) return;
$(this).toggleClass('orange');
});
$('#dragbox').draggable({
start: function(event, ui){
$(this).data('dragging', true);
},
stop: function(event, ui){
setTimeout(function(){
$(event.target).data('dragging', false);
}, 1);
}
});
});
检查 小提琴 。
Check the fiddle.
这篇关于在jQuery中拖动后阻止点击事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文