如何防止拖动时触发滑动事件
How to prevent swipe event from firing when dragging
我将 jQueryMobile 的滑动事件与 JQuery UI 的可拖动对象一起使用。
JSFiddle 解释得最好。
$('.draggable').draggable({
delay: 300,
cancel: false,
start: function(event, ui) {
// something needs to happen here?
},
stop: function(event, ui) {
},
revert: function(is_valid_drop) {
return true;
}
});
$('.swipe-area').on('swiperight', function(evt) {
alert('swiped right :(');
});
基本上,当您尝试向右拖动深蓝色框时,会触发滑动事件。
我想在拖动的时候防止这个。你会推荐什么?
(JSFiddle 解决方案会很棒!)
您可以使用标志 on
或 off
演示
代码
var drag;
$('.droppable').droppable({
accept: '.draggable',
drop: function(event, ui) {
}
});
$('.draggable').draggable({
delay: 300,
cancel: false,
start: function(event, ui) {
drag = "on"
// event.preventDefault();
// event.stopPropagation();
},
stop: function(event, ui) {
drag = "off"
},
revert: function(is_valid_drop) {
return true;
}
});
$('.swipe-area').on('swiperight', function(evt) {
if (drag == "off") {
alert('swiped right :(');
}
});
我将 jQueryMobile 的滑动事件与 JQuery UI 的可拖动对象一起使用。
JSFiddle 解释得最好。
$('.draggable').draggable({
delay: 300,
cancel: false,
start: function(event, ui) {
// something needs to happen here?
},
stop: function(event, ui) {
},
revert: function(is_valid_drop) {
return true;
}
});
$('.swipe-area').on('swiperight', function(evt) {
alert('swiped right :(');
});
基本上,当您尝试向右拖动深蓝色框时,会触发滑动事件。
我想在拖动的时候防止这个。你会推荐什么?
(JSFiddle 解决方案会很棒!)
您可以使用标志 on
或 off
演示
代码
var drag;
$('.droppable').droppable({
accept: '.draggable',
drop: function(event, ui) {
}
});
$('.draggable').draggable({
delay: 300,
cancel: false,
start: function(event, ui) {
drag = "on"
// event.preventDefault();
// event.stopPropagation();
},
stop: function(event, ui) {
drag = "off"
},
revert: function(is_valid_drop) {
return true;
}
});
$('.swipe-area').on('swiperight', function(evt) {
if (drag == "off") {
alert('swiped right :(');
}
});