DOM親に対するドラッグ可能なdivの位置を書き留めようとしています。私はグローバルオブジェクトg
を持っています。bPos
というオブジェクトは、div id ^= 'd'
の中にdiv class = 'b'
の位置を含むはずです。ドラッグ時のDOM位置の記録
これは私のコードです:
function() {
var thisDiv = "";
var thisDivID = "";
$(".b").draggable({
start: function(event, ui) {
thisDiv = $(this).closest("div[id^='d']");
thisDivID = thisDiv.attr("id");
console.log(thisDivID); //also returning undefined
},
stop: function(event, ui) {
var thisX = event.pageX;
var thisY = event.pageY;
var thisbPos = {
id: thisDivID,
x: thisX,
y: thisY
}
g.bPos[thisDivID] = thisbPos;
console.log(thisDivID);// returning undefined
}
});
}
コンソールはthisDivID
がundefined
であることを示しています。私はそれに任意の値を割り当てる場合でも、それはまだundefined
として来る。どんな助けも素晴らしいだろう。
IanW @ - 私はXとY座標で位置を保存したかったです。また、 'dragstop'はメモリを解放するので(私はとにかく最終的な位置が必要です)、使いたいと思っていました。私の主な質問は、 'thisDivID'がなぜ定義されていないのですか? – dopatraman
@ IanW - 「ui」ハッシュには位置情報が含まれていますが、アクセス方法はわかりません。ここにアドバイスはありますか? – dopatraman
'var x = ui.offset.left; var y = ui.offset.top; ' $(this)はコンテナを参照します。あなたのマークアップが何であるかはわかりませんが、それはあなたが望むものかもしれません。 – IanW