Javascript 命名匿名函数会破坏我的代码
。 但我想不出来 这项工作:Javascript 命名匿名函数会破坏我的代码,javascript,jquery-ui,Javascript,Jquery Ui,。 但我想不出来 这项工作: $('#PlayArea').droppable({ drop: function( myEvent, myUI ) { debugger; } }); 但这并不是: function myDroppable() { this.drop = function( myEvent, myUI ) { debugger; } }; $('#PlayArea').droppable(myDroppable);
$('#PlayArea').droppable({
drop: function( myEvent, myUI ) {
debugger;
}
});
但这并不是:
function myDroppable() {
this.drop = function( myEvent, myUI ) {
debugger;
}
};
$('#PlayArea').droppable(myDroppable);
droppable
接受对象文本,而不是函数。这两个代码片段并不相同,您实际上是这样做的(这样更容易看出它是错误的):
如果要使用命名函数,请使其返回
droppable
droppable
接受的配置对象,该对象采用对象文字,而不是函数。这两个代码片段并不相同,您实际上是这样做的(这样更容易看出它是错误的):
如果要使用命名函数,请使其返回您需要使用的
droppable
接受的配置对象,因为droppable
获取一个对象文本,从而返回它
function myDroppable() {
return {
drop: function (myEvent, myUI) {
debugger;
}
}
};
$('#PlayArea').droppable(myDroppable());
或
您需要使用,因为
droppable
获取一个对象文本,从而返回它
function myDroppable() {
return {
drop: function (myEvent, myUI) {
debugger;
}
}
};
$('#PlayArea').droppable(myDroppable());
或
这样就不用冒号作为赋值运算符
这样,您就不会使用冒号作为赋值运算符。在这种情况下,您不应该将最后一行
$(“#playrea”).droppable(myDroppable())
那么函数实际上是被调用的,而不是作为参数传递的?有没有办法说myDroppable.tolerance='pointer',使用等号作为赋值运算符而不是冒号?@Phillip,你可以使用$(“#PlayArea”)。on(“drop”,函数(事件,ui){}
。我们有可拖放接受对象文字的限制。所以你可以试试$(“#play area”)。在(“drop”,new myDroppable().drop)
在这种情况下,你不应该把最后一行$(“#play area”).droppable(myDroppable())
那么函数实际上是被调用的,而不是作为参数传递的?有没有办法说myDroppable.tolerance='pointer',使用等号作为赋值运算符而不是冒号?@Phillip,你可以使用$(“#PlayArea”)。on(“drop”,函数(事件,ui){}
。我们有可拖放接受对象文字的限制。因此,您可以尝试$(“#playare”)。在(“drop”,new myDroppable().drop)
设置中,您必须执行$(“#playare”).droppable(new myDroppable())
通过设置,您必须执行$(“#游戏区”).droppable(新的myDroppable())代码>我正在尝试使用等号而不是冒号来分配'drop'方法。我正在尝试使用等号而不是冒号来分配'drop'方法。
var myDroppable = {
drop: function (myEvent, myUI) {
debugger;
}
};
$('#PlayArea').droppable(myDroppable);
myDroppable = {};
myDroppable.drop = function( myEvent, myUI ) {
debugger;
}
myDroppable.tolerance = 'pointer';
myDroppable.hoverClass = 'ui-state-highlight';
$('#PlayArea').droppable(myDroppable);