如何在JavaScript中调用属于另一个对象的函数(使用script.aculo.us)
我正在从script.aculo.us dragdrop模块中创建“Draggable”对象的新实例,该模块位于属于我创建的对象的函数中。让我们把这个对象称为“Person”对象。很简单。但是,在可拖动对象中的“onEnd”函数中,我需要调用另一个函数getCell,它也属于前面提到的“Person”对象。有点像循环系统,我知道,但我希望我知道怎么做。我试过的都不管用。能做到吗?下面是一个为简洁而大量编辑的示例,但我希望它能传达我的意图。如果您能在这里提出任何见解,我将不胜感激。谢谢如何在JavaScript中调用属于另一个对象的函数(使用script.aculo.us),javascript,prototypejs,scriptaculous,Javascript,Prototypejs,Scriptaculous,我正在从script.aculo.us dragdrop模块中创建“Draggable”对象的新实例,该模块位于属于我创建的对象的函数中。让我们把这个对象称为“Person”对象。很简单。但是,在可拖动对象中的“onEnd”函数中,我需要调用另一个函数getCell,它也属于前面提到的“Person”对象。有点像循环系统,我知道,但我希望我知道怎么做。我试过的都不管用。能做到吗?下面是一个为简洁而大量编辑的示例,但我希望它能传达我的意图。如果您能在这里提出任何见解,我将不胜感激。谢谢 var P
var Person = Class.create({
initialize: function(name) {
this.name = name;
},
move: function(p) {
p = new Draggable(p, {
onEnd: function(d) {
var pos = getCell(d.element);
.......
.......
}
.......
.......
});
},
getCell: function(t) {
var pos = t.positionedOffset();
return [(pos.left / 64).floor(), (pos.top /64).floor()];
}
});
试一试
或
尝试:
move: function(p) {
p = new Draggable(p, {
onEnd: function(d) {
var pos = p.getCell(d.element);
.......
.......
}
.......
.......
});
},
move: function(p) {
var getCell = function (el) {
return p.getCell ( el );
};
p = new Draggable(p, {
onEnd: function(d) {
var pos = getCell(d.element);
.......
.......
}
.......
.......
});
},
var Person = Class.create({
initialize: function(name) {
this.name = name;
},
move: function(p) {
p = new Draggable(p, {
onEnd: function(d) {
var pos = this.getCell(d.element);
.......
.......
}.bind(this)
.......
.......
});
},
getCell: function(t) {
var pos = t.positionedOffset();
return [(pos.left / 64).floor(), (pos.top /64).floor()];
}
});