作成したオブジェクトに属する関数内に、(script.aculo.us dragdropモジュールから)「Draggable」オブジェクトの新しいインスタンスを作成しています。そのオブジェクトを「Person」オブジェクトと呼びましょう。簡単です。ただし、Draggableオブジェクト内の「onEnd」関数内から、前述の「Person」オブジェクトに属する別の関数getCell()を呼び出す必要があります。循環器系のようなものですが、これを行う方法を知っていればいいのですが。私が試したことは何もありません。できますか?以下は簡潔にするために大幅に編集された例ですが、それが私の意図を伝えていることを願っています。ここでの洞察に感謝します。ありがとう。
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()];
}
});