【问题标题】:manually trigger stop() event jQuery draggable手动触发 stop() 事件 jQuery 可拖动
【发布时间】:2013-08-12 13:53:55
【问题描述】:

我想触发使用 jQuery UI 可拖动时生成的 stop() 事件。所有元素都是动态生成的。在我正在处理的项目中,所有 stop() 事件都做同样的事情,它们改变了调用对象相对于其他周围的、捕捉到的可拖动对象的外观。但是其他的可拖动对象也必须改变。所以调用每个可拖动对象的停止事件就像刷新它们,让它们重新绘制自己,可以这么说。这个问题很基本,我试图阅读它,但我无法弄清楚。

要快速了解我想要做什么,请查看这个小提琴,我在我想要手动触发的 stop() 调用的地方添加了一条评论:http://jsfiddle.net/VCDG4/1/

在小提琴中,您必须先单击按钮,因为我需要动态生成可拖动对象。

这是行不通的:

$('#Id_of_the_other_draggable').trigger('stop');

找出另一个可拖动对象的 ID 不是问题,但 stop() 事件不会像那样触发。

我需要触发调用,因为我需要调用 stop(event ui) 时生成的事件对象;它带有我需要的信息。

我已经检查了这个线程Jquery .trigger('stop') method for .draggable。但是在这里,他们通过 bind() 注册了一个名为“dragstop”的新事件,它被很好地调用了,我试过了。但是我没有得到包含我需要的信息的事件对象。

非常感谢任何帮助。谢谢

【问题讨论】:

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


    【解决方案1】:

    http://jsfiddle.net/VCDG4/4/

    添加

    $('div.drag')
    

    而不是

    $(this)
    

    【讨论】:

    • 谢谢你!但是您通过 .drag 类选择了它,它不会触发 stop() 事件。它是一个常规的 jQuery 选择器。检查我的更新并激活您的控制台,每次移动两个 div 中的任何一个时,您都应该获得控制台输出。但是对于那个 div.drag 选择器,它只会被一个在其停止回调中有 console.log(...) 代码行的 div 触发。 jsfiddle.net/VCDG4/5
    猜你喜欢
    • 1970-01-01
    • 2014-02-20
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多