I asked a similar question over a year ago。 但我无法弄清楚这一点。
这有效:
$('#PlayArea').droppable({
drop: function( myEvent, myUI ) {
debugger;
}
});
但这不是:
function myDroppable() {
this.drop = function( myEvent, myUI ) {
debugger;
}
};
$('#PlayArea').droppable(myDroppable);
答案 0 :(得分:2)
droppable
采用对象字面值,而不是函数。这两个片段并不相同,你实际上做的是这样的事情(通过这种方式更容易看出它是错误的):
$('#PlayArea').droppable(function myDroppable() {
this.drop = function( myEvent, myUI ) {
debugger;
}
});
如果要使用命名函数,请使其返回droppable
接受的配置对象。
答案 1 :(得分:2)
你需要使用,因为droppable
获取一个对象文字,因此返回它。
function myDroppable() {
return {
drop: function (myEvent, myUI) {
debugger;
}
}
};
$('#PlayArea').droppable(myDroppable());
var myDroppable = {
drop: function (myEvent, myUI) {
debugger;
}
};
$('#PlayArea').droppable(myDroppable);
答案 2 :(得分:0)
myDroppable = {};
myDroppable.drop = function( myEvent, myUI ) {
debugger;
}
myDroppable.tolerance = 'pointer';
myDroppable.hoverClass = 'ui-state-highlight';
$('#PlayArea').droppable(myDroppable);
这样您就不会使用冒号作为赋值运算符。