jquery - 拖放事件触发两次

标签 jquery jquery-ui draggable jquery-ui-draggable

我正在编写一个脚本,在拖放列表项时遇到问题。当我将项目拖动到可放置区域时,事件会触发两次。这是我的代码。请在此处查看代码

$('.draglist div').draggable({        
    cursor: 'move',
    helper: 'clone',
    connectToSortable: '.droplist'
}); 
$(".droplist").droppable({
drop: function (event, ui) {
  var dragtext = $(ui.draggable).text();
  alert(dragtext);
}
});
$('.droplist').sortable({
     opacity: 0.6,
     revert: true,
     cursor: 'move',
     placeholder: "highlight",
 });

See DEMO

最佳答案

这是一个 jQuery UI 错误。一个简单的解决方法是使用 sortable receive event而不是可放置的 drop 事件。这样做时,该事件仅被触发一次。

Updated Example

$(".droplist").droppable().sortable({
  opacity: 0.6,
  revert: true,
  cursor: 'move',
  placeholder: "highlight",
  receive: function(event, ui) {
    var dragtext = $(ui.item[0]).text();
    alert(dragtext);
  }
});

关于jquery - 拖放事件触发两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34387011/

相关文章:

javascript - 两个全屏视频背景并排在一个窗口中

javascript - d3 图表显示在 bootstrap div 之外

javascript - jquery ui 对话框可在整个对话框上拖动,而不仅仅是标题

javascript - 当一个 Accordion 打开而另一个关闭时,我该怎么做?

javascript - 无法在 shopify 库中获得可拖放的工作

android - LibGDX - InputProcessor - 如果用户将手指从代表在 X 上移动的按钮拖动到代表在 Y 上移动的按钮

javascript - 使用 jQuery SVG 选择和操作现有元素

javascript - jQuery 脚本只执行一次

jQuery UI 按钮功能不适用于复选框

JQuery 向各个方向拖动/滑动 div