你可以在其他代码区域访问和执行启动,拖动,停止拖动功能吗?

时间:2014-01-23 18:15:48

标签: jquery jquery-ui

如果我有一个对象:

<div id="tar"></div>

并想申请draggable:

$("div#tar").draggable({
    start: function(){...},
    drag:  function(){...},
    stop:  function(){...}
});

并且想要在函数之外出于某种原因调用这些函数,我自然会说:好吧,将anon移出去,并给它起一个名字:

function abc(){...}
$("div#tar").draggable({start:abc});

但如果还有另一种方法呢?

我很好奇我是否可以从另一个函数或参考中找到并调用/执行'start'函数。

所以,如果我在某个地方,并想打电话给它做类似的事情:

$("div#tar").draggable["start"](); 

或那种性质的东西。

有谁知道我会怎么做后两者?

1 个答案:

答案 0 :(得分:1)

还有其他一些方法:

您可以调用在创建小部件时定义的回调函数,如下所示:

$("div#tar").draggable("option", "start").call();

或者使用.on()绑定回调,然后使用.trigger()触发相关事件:

$("div#tar").draggable().on('dragstart', function() {...})
$("div#tar").trigger('dragstart');

打开你的js控制台视图(F12)并查看 jsFiddle