为Firefox扩展找到事件的位置(将鼠标悬停在按钮上)
||
我需要找到Firefox扩展的事件位置(将鼠标悬停在按钮上)。
我一直在使用:
var obj = $mb(e.target,doc).offset();
var left = obj.left;
var top = obj.top;
但是问题在于返回的值是事件在屏幕中而不是页面中的位置,也就是说,它没有将滚动位置考虑在内(在Firefox中)(但在Google Chrome浏览器中有效)。
然后我使用鼠标位置。
var obj_left = (window.Event) ? e.pageX : event.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
但是问题在于,它会根据导致事件的鼠标位置返回不同的值(同一按钮在按钮两端的不同值),但是在第一种情况下,即使它返回屏幕位置,它也会为事件返回单个值(两端按钮的单个值)。
我需要的是事件的返回值应该相同,并且应该考虑滚动位置。
没有找到相关结果
已邀请:
1 个回复
良阑纠苫
和
属性(请参阅文档,网址为https://developer.mozilla.org/en/DOM/event.pageX和https://developer.mozilla.org/en/DOM/event。 clientX)。似乎ѭ2是您想要的-相对于当前页面的位置,无论滚动如何。
是非标准的,可能未在Chrome中实现,但是jQuery似乎以跨浏览器的方式提供了此属性,请参见http://api.jquery.com/event.pageX/。