我想使用拖放对象的方法。
function Controller(){
$( "#container" ).droppable({
drop: function( event, ui ) {
var draggable = ui.draggable;
alert( "Dropped:" + draggable.attr('id'));
draggable.myMethod();
}
});
你能解释一下为什么这不起作用吗?警报显示正确的对象被丢弃,但我无法使用该方法。
对象如下所示:
function Icon(name) {
var name = name;
this.myMethod = function() {
alert("test")};
this.getInfo = function() {
var dataname = this.getName();
//BErtram
$("#" + dataname).draggable({ revert: "valid" });
//Bertram Ende
}
}
编辑:
如果我以这种方式调用方法:
drop: function( event, ui ) {
var draggable = ui.draggable;
alert(...);
var ic = new Icon("asdsa");
ic.myMethod();
},
它有效,但我想在拖动的对象上使用方法,我必须进行某种类型转换吗?
编辑:解决方法 最后我使用了一种解决方法,使用 bool 来检查是否有成功的放置,如果 boolean ist 为真,则调用 draggable.stop 中的方法。boolean 的状态在 droppable 中在成功放置时设置为 true,在 draggable.start 中设置为 false。