Javascript jQuery UI可拖动:获取许多动态创建的元素的拖动偏移量
我正在DOM中创建一个Javascript jQuery UI可拖动:获取许多动态创建的元素的拖动偏移量,javascript,jquery,html,jquery-ui,jquery-ui-draggable,Javascript,Jquery,Html,Jquery Ui,Jquery Ui Draggable,我正在DOM中创建一个元素,并使用javascript将许多单元格动态附加到该元素中。为了便于解释,假设我创建了10行,每行10个字段。我使用简单的计数器为这些字段中的div容器分配唯一的id。很简单。这就是我得到的: <table> <tr><td><div id="field0"><div id="handle0"></div></div></td></tr> ....
元素,并使用javascript将许多单元格动态附加到该元素中。为了便于解释,假设我创建了10行,每行10个字段。我使用简单的计数器为这些字段中的div容器分配唯一的id。很简单。这就是我得到的:
<table>
<tr><td><div id="field0"><div id="handle0"></div></div></td></tr>
.....
<tr><td><div id="field99></div id="handle99"></div></div></td></tr>
</table>
.....
您可以修改offsetParent而不是offsetParent
var xPos=(offset.left)-(this.parent().offset().left);
var yPos=(offset.top)-(this.parent().offset().top) 您可以修改offsetParent而不是offsetParent
var xPos=(offset.left)-(this.parent().offset().left);
var yPos=(offset.top)-(this.parent().offset().top) var xPos=(offset.left)-(this).position().left
var yPos=(offset.top)-(this).position().topvar xPos=(offset.left)-(this).position().left
var yPos=(offset.top)-$(this.position().top我在这里看到一些问题,offset
是一个对象,您试图将其作为字符串记录。另外,与其遍历所有字段来添加可拖动,不如添加一个类,以便可以轻松引用需要可拖动的所有内容?修复了console.log错误。我认为我不能使用类,因为我需要访问每个唯一句柄ID相对于每个唯一容器ID的偏移值。我在这里看到了一些问题,offset
是一个对象,您正在尝试将其作为字符串记录。另外,与其遍历所有字段来添加可拖动,不如添加一个类,以便可以轻松引用需要可拖动的所有内容?修复了console.log错误。我认为我不能使用类,因为我需要访问每个唯一句柄ID相对于每个唯一容器ID的偏移值。
for (var counter = 0; counter < 100; counter++) {
var dragHandle = $('#handle' + counter);
var dragField = $('#field' + counter);
dragHandle.draggable({
containment: dragField,
scroll: false,
drag: function () {
var offset = $(this).offset();
var xPos = (offset.left) - $(this).offsetParent().offset().left;
var yPos = (offset.top) - $(this).offsetParent().offset().top;
console.log(xPos);
console.log(yPos); // These add up?!
}
});
}