我试图获取鼠标单击相对于浏览器/主体的绝对位置(顶部和左侧),not主体内的任何父元素。
我有一个绑定到 body 的侦听器,但 e.pageX 和 e.pageY 为我提供了相对于 div 的位置。
请注意,我可以利用 jQuery 和 YUI 函数。
目前无法正常工作的代码:
//getting the position
function _handleClick(e) {
var data = { absX: e.pageX, absY: e.pageY};
_logClickData(data);
}
//binding the function
var methods = {
init: function () {
$("body").click(_handleClick);
}
};
评论者是正确的。 pageX 和 pageY 为您提供相对于整个文档而不是其父 div 的鼠标位置。但如果您感兴趣,您可以从相对于 div 的位置获取相对于文档的位置。
获取父 div 相对于 body 的位置,然后将两个值相加。
x = parentdiv.style.left + e.pageX;
y = parentdiv.style.top + e.pageY;
(0,0)
_____________________
|
|
| __________
|----100----| |
| |---60---* |
| |__________|
|
|
* = Mouse Pointer
我制作了图表,因为它很有趣。不是因为我觉得你需要一个!
另外,为了使上述工作正常,您可能需要 parseInt。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)