в нем отсутствует некоторая информация относительно того, что именно вы хотите сделать, поэтому после прочтения того, что вы описываете, я думаю, что вы хотите предотвратить событие, когда закончите перетаскивание, так что это может быть либо в начале, либо в конце, который я думаю, что вы хотите тот, в конце.Я попытался воспроизвести вашу проблему с двумя делителями, один по оси Y, а другой по оси X, следующим образом: JS
<div class="dragYAxis"></div>
<div class="dragXAxis"></div>
CSS
body {
background: #20262E;
padding: 20px;
}
.dragXAxis{
height: 20px;
width: 20px;
background: grey;
}
.dragYAxis{
height: 20px;
width: 20px;
background: white;
}
JS
/*
Try this solution for your problem and see if it helps too:
$('.dragYAxis').draggable({
axis: 'y',
start: function(event, ui) {
ui.helper.bind("click.prevent",
function(event) { event.preventDefault(); });
},
stop: function(event, ui) {
setTimeout(function(){ui.helper.unbind("click.prevent");}, 300);
}
});*/
$(".dragYAxis").draggable({axis: 'y'});
$(".dragXAxis").draggable({axis: 'x'});
$(".dragYAxis").click(function(){
alert();
});
$(".dragXAxis").click(function(){
alert();
});
Но двойного события не было сделано при выпуске одного события поверх другого события, которое также имеет перетаскиваемое событие и имеет простое событие щелчка.
Можете ли вы сделать свою собственную скрипку и попробоватьвоспроизвести проблему?В противном случае вы можете попытаться найти какое-то похожее решение в этом решении для предотвращения событий:
Предотвращение события щелчка с помощью перетаскивания jQuery
Ссылка на скрипту JS: https://jsfiddle.net/kn30mLpd/