0
我想要注意可拖動div相對於其父級的位置。我有一個全局對象g
,它包含另一個對象bPos
,它應該包含div class = 'b'
在div id ^= 'd'
之內的位置。在拖動中記錄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 2012-02-08 19:00:18
@ IanW - 我知道'ui'散列包含位置信息,但我不知道如何訪問它。有什麼建議嗎? – dopatraman 2012-02-08 19:11:57
'var x = ui.offset.left; var y = ui.offset.top;' $(this)指的是容器。不知道你的標記是什麼樣的,但可能會或可能不是你想要的。 – IanW 2012-02-08 19:49:51