gpt4 book ai didi

javascript - 您能否获得引用选择器而不是窗口的 ClientX 和 ClientY ?

转载 作者:行者123 更新时间:2023-12-02 17:21:24 26 4
gpt4 key购买 nike

当我调用函数时,我从全局函数中得到:window.event.clientX 和 window.event.clientY,粘贴。

我正在尝试粘贴坐标,但它们因我正在努力解决的一些信息而偏离。

我正要采取:

window_data:  {top,left}

并减去:

stage_div_offset:  {top,left}

获得实际的偏移量,但这似乎也有一点偏差。 X 和 Y 方向大约 40 像素。我认为这可能是由于边距或填充或类似的原因造成的。

我真正好奇的是,有没有办法获取引用 div 或其他 htmlElement< 的鼠标的 XY/

我不确定是否有一个可以在选择器中传递的函数,或者如果使用像 jquery 这样的东西,实际上会有一个名为:鼠标的选择器的函数或东西。

我确实觉得以下主题相关,但不确定它是否使我的主题成为重复:
<强> jQuery get mouse position within an element

编辑:最初我正在执行以下代码:

var stage = $("#stage").offset(),
results = {
left: window.event.clientX - stage.left,
top: window.event.clientY - stage.top
};

编辑 2:当前的答案似乎都不起作用,部分原因是我的浏览器无法识别 mouseEvent,因此无法获取屏幕位置。

我编写了以下内容来尝试获取鼠标位置

var MouseLocation = {};
MouseLocation.Left = 0;
MouseLocation.Top = 0;
MouseLocation._event;
MouseLocation.get_position = function () { return { left: MouseLocation.Left, top: MouseLocation.Top }; }
MouseLocation.attach = function () {
MouseLocation._event = function (e) {
var loc = { left: e.clientX, top: e.clientY }
MouseLocation.Left = loc.left;
MouseLocation.Top = loc.top;
};
$("#stage").on("mousemove", MouseLocation._event);
}
MouseLocation.detach = function () {
$("#stage").off("mousemove", MouseLocation._event);
}
MouseLocation.ping = function () {
MouseLocation.attach();
$("#stage").mousemove();
MouseLocation.detach();
}

这样,在我的事件中,我就可以说:

MouseLocation.ping();MouseLocation.get_position();

但它似乎不喜欢:$("#stage").on("mousemove")

最佳答案

您可以使用postion()至:

获取匹配元素集中第一个元素相对于偏移父元素的当前坐标。

关于javascript - 您能否获得引用选择器而不是窗口的 ClientX 和 ClientY ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23910480/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com