📅  最后修改于: 2023-12-03 14:53:18.494000             🧑  作者: Mango
要调用可拖动对象的位置,可以使用 JavaScript 中的 Event 对象中提供的 offsetX 和 offsetY 属性,也可以使用 jQuery 中的 position() 和 offset() 方法。
当用户拖动某个元素时,会触发相应的事件,比如 mousemove、mousedown、mouseup 事件等。在这些事件中,可以通过 Event 对象的 offsetX 和 offsetY 属性来获取元素相对于其父元素的位置。
element.addEventListener("mousemove", (event) => {
const x = event.offsetX;
const y = event.offsetY;
console.log(`x: ${x}, y: ${y}`);
});
在上面的代码中,element 是可拖动的元素,当用户拖动该元素时,会触发 mousemove 事件,然后可以通过 event.offsetX 和 event.offsetY 属性获取元素相对于其父元素的位置。这里只是简单地输出了位置信息到控制台,开发者可以根据具体需求来使用这些位置信息。
如果使用 jQuery,可以使用 position() 方法和 offset() 方法来获取可拖动对象的位置。
position() 方法返回一个对象,包含相对于最近的已定位祖先元素的左、上位置。如果没有已定位的祖先元素,则相对于文档。
const position = $("element").position();
console.log(`left: ${position.left}, top: ${position.top}`);
在上面的代码中,element 是可拖动的元素,$() 是 jQuery 中的选择器,通过传入 element,获取该元素的位置信息,然后可以使用 position() 方法获取该元素相对于其最近已定位父元素的左、上位置。这里只是简单地输出了位置信息到控制台,开发者可以根据具体需求来使用这些位置信息。
offset() 方法返回一个对象,包含相对于文档的左、上位置。
const offset = $("element").offset();
console.log(`left: ${offset.left}, top: ${offset.top}`);
在上面的代码中,element 是可拖动的元素,$() 是 jQuery 中的选择器,通过传入 element,获取该元素的位置信息,然后可以使用 offset() 方法获取该元素相对于文档的左、上位置。这里只是简单地输出了位置信息到控制台,开发者可以根据具体需求来使用这些位置信息。