【问题标题】:jQueryUI Draggable , trigger the "stop" eventjQueryUI Draggable ,触发“停止”事件
【发布时间】:2015-02-11 00:15:12
【问题描述】:

我必须拖动的对象也可以通过键盘事件(向上、向下、向左和向上)移动

在任何对象的拖动事件中,我都有一个可以做某事的函数,当对象被键盘移动时,我必须调用拖动停止事件

所有这些解决方案都不起作用

Jquery .trigger('stop') method for .draggable

$("#obj").draggable().trigger("dragstop");

$("#obj").trigger("dragstop");

How would you use Trigger to fire the jquery draggable start, drag, stop events?

var s = [{ClientX:0, ClientY:0, target:""},{}];
$("#obj").draggable("option" , "stop").apply($("#obj") , s);

【问题讨论】:

    标签: javascript jquery jquery-ui jquery-draggable


    【解决方案1】:

    我相信您在初始化时绑定了stop或任何其他)事件,如下所示:

    $("#draggable").draggable({
     stop: function(ev,ui){
     }
    });
    

    在这种情况下,trigger 将不起作用。

    单独绑定事件,

    例如:

    $("#draggable").on("dragstop",function(ev,ui){
    
    });
    

    然后触发器将起作用。

    $("#draggable").draggable();
    $("#draggable").on("dragstop", function(ev, ui) {
      alert("draggable stop");
    });
    $("button").click(function(){
      $("#draggable").trigger("dragstop");
    });
    #draggable {
      width: 50px;
      height: 50px;
      background: dodgerblue;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
    <div id="draggable"></div>
    <button>click</button>

    【讨论】:

    • 现在事件是 call ,但是参数 ui ( $(obj).on("dragstop", function(ev, ui){..}) 是未定义的当我触发 dragstop 事件时
    • 您的示例中也存在问题
    • @WhiteLine 显然它会是空的。它不是由实际拖动触发的,您还期望什么...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多