Kap*_*ers 14 javascript jquery jquery-ui droppable
我有一个带有drop事件处理程序的droppable:
$(this).droppable({
drop:function(){
console.log('OMG You Dropped It!');
}
});
Run Code Online (Sandbox Code Playgroud)
我有一个拖车:
$(this).draggable();
Run Code Online (Sandbox Code Playgroud)
我想要做的是触发droppable上的drop事件处理程序而不实际拖放draggable.我想在不实际执行行为的情况下模拟实际行为.
我认为这样的事情会做:
$(droppable).trigger('drop', [draggable]);
Run Code Online (Sandbox Code Playgroud)
不幸的是,它并不那么简单.有谁知道我怎么能做到这一点?
SLa*_*aks 11
您应该将drop
处理程序中的代码移动到单独的函数中.
然后,您可以在处理程序和其他地方调用该函数.
您可以通过option-method触发与drop调用相关的功能:
$("#droppable").droppable({
drop: function(event, ui) {
do stuff }
});
var drop_function = $("#droppable").droppable.option('drop');
drop_function();
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您可以获得在droppable上放置内容时发生的任何事情.当然你可以只执行该功能而不是分配它.尽管如此,分配一个要删除的函数是一个好主意,你可以在其他地方定义,只是为了清楚起见.