【问题标题】:jQuery draggable - fire event when user grabs the draggable elementjQuery draggable - 当用户抓住可拖动元素时触发事件
【发布时间】:2014-06-30 10:25:56
【问题描述】:

我正在使用 jQuery UI 制作可拖放/可拖放的元素列表。

这里是代码的要点:

$(elem).droppable({
    drop: function(event, ui) {
    var dragElem = $(ui.draggable).clone();     //identify element
    //replace elements etc
    ...

这很好,并且在删除元素后,一切都很顺利。

但是,在一种情况下,我需要能够在用户用鼠标抓住元素时执行一些代码。我找不到任何解释如何做到这一点的文档,但我认为这应该是可能的。

类似

$(elem).droppable({
        grab: function(event, ui) {
            //do stuff

会有意义,不是吗?有人知道在这里使用的正确语法吗?

【问题讨论】:

  • 当用户抓取它时,您不需要使用可拖动对象吗? - api.jqueryui.com/draggable/#event-start
  • 我想 - 如果满足条件,我将如何告诉它立即删除元素?在start() 事件中,我想做类似if(condition) drop-theelement-now 的事情。
  • 我认为如果满足您的条件,您只需返回 false:stackoverflow.com/questions/20913338/…
  • 你想要用户开始用鼠标拖动可拖动对象时的事件吗?
  • 您的问题的答案已经给出,如果不是您期望的答案,请提供更多详细信息,例如您正在尝试做什么......

标签: jquery jquery-ui jquery-ui-draggable jquery-ui-droppable


【解决方案1】:

您可以使用activate 事件,该事件在拖动开始时触发:

$(elem).droppable({
    activate: function(event, ui) {
        //do stuff
    },
    drop: function(event, ui) {
        var dragElem = $(ui.draggable).clone();     
        // identify element
        // replace elements etc
    }
});

jQueryUI API 中提供有关活动的更多信息

【讨论】:

  • 如果“做事”是“立即删除元素”怎么办?你知道我会怎么做吗?
猜你喜欢
  • 2021-06-18
  • 1970-01-01
  • 1970-01-01
  • 2010-12-16
  • 1970-01-01
  • 1970-01-01
  • 2014-02-28
  • 2020-07-19
  • 1970-01-01
相关资源
最近更新 更多