【发布时间】:2010-01-07 21:48:10
【问题描述】:
我可能在这里使用了错误的模式,但如果我是,我希望有人能纠正我!
我有一个代表用户工作区的对象,它响应服务器操作,克隆一个 div,更改它的一些属性,将其放置在工作区上,使其可拖动并添加一个 onComplete 操作。此操作旨在调用工作区对象的另一个方法,将 div 的更新位置发送回服务器以进行布局持久性。
我已经将课程剥离到相关的方法:
var MooPanel = new Class( {
createDiv: function() {
var newDiv = existingDiv.clone();
var dragHandle = newDiv.title;
var move = new Drag(newDiv, {
'handle': dragHandle,
'x': true,
'y': true,
/* original line:
'onComplete': function( el, dr ) { updateCoordinates( el, dr ); }
*/
/* working line: */
'onComplete': function( el, dr ) { this.updateCoords(el); }.bind(this)
}
},
updateCoordinates: function( el, dr ) {
send.to.server();
}
});
现在,我无法让它调用我的 updateCoordinates 方法。我尝试了this 和其他关键字的各种组合,但不能完全正确。
拨打updateCoordinates的正确方法是什么?
【问题讨论】:
标签: javascript events scope mootools draggable