【问题标题】:how can you check which element your draggable item is hovering over? (JQuery)如何检查可拖动项目悬停在哪个元素上? (jQuery)
【发布时间】:2010-12-21 16:53:50
【问题描述】:

我有两个列表。第一个由可拖动的项目组成(如this)。 它连接到第二个,这是一个可排序的列表(如this)。

可以通过将第一个列表中的项目拖动到第二个列表中来将它们添加到第二个列表中。然后它们被克隆并变成绿色,以便用户可以看到它们是未保存的添加。

我想要发生的是,当您将一个项目拖出第二个列表时,它将被标记为删除,或者被发送回第一个列表(如果它是未保存的添加)。但是我也希望人们能够对第二个列表进行排序。

因此,如果他们将某个项目拖出并释放鼠标,则应该将其移除。如果他们将某个项目拖出并再次拖入,则不应将其删除。

我已经尝试包装一个 mouseup 处理程序inside of a sortout,我最终让它工作,但是你不能对列表中的项目进行排序。

关于我应该把它带到哪里的任何想法?

【问题讨论】:

标签: jquery jquery-ui jquery-ui-sortable jquery-ui-draggable


【解决方案1】:

你需要绑定到目标列表(ID“droplist”)上的drop事件,像这样:

$("#droplist").bind( "drop", function(event){
    $(this).append( event.dragTarget ); // or use prepend to put it at the top
    console.log("Dropped " + event.dragTarget.title);
    // trigger another event to do the work around checking if it is an unsaved addition
})

要在拖出时删除项目,您可以尝试绑定到列表周围的容器元素。

$("#background").bind( "drop", function(event){
    event.dragTarget.remove(); // guessing here
})

代码 sn-p 会很方便地提供进一步帮助。

【讨论】:

【解决方案2】:

使用不同的方法,这似乎比我想象的要混乱。我还没有在 IE 中测试,这可能会打开一个新的蠕虫罐,所以我会让拖动只是排序并添加一个删除按钮。干杯,

没有

【讨论】:

  • 什么?哇。来吧..标题具有误导性。我们感兴趣的不是你的任务,而是标题。
猜你喜欢
  • 1970-01-01
  • 2012-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-03
  • 1970-01-01
  • 2011-10-10
相关资源
最近更新 更多