【问题标题】:Mouse position not working for FireFox鼠标位置不适用于 FireFox
【发布时间】:2016-06-23 17:34:46
【问题描述】:

我陷入了一个问题。我必须在 Firefox 浏览器上获取鼠标位置。但是它不起作用可能是我在代码中犯了任何错误。到目前为止我所做的如下。

Javascript 代码:

function MousePos(event){
        if ($.browser.mozilla == true){ 
             if(typeof event.offsetX === "undefined" || typeof event.offsetY === "undefined"{
                 var targetOffset = $(event.target).offset();
                 event.offsetX = event.pageX - targetOffset.left;
                 event.offsetY = event.pageY - targetOffset.top;
                 alert(event.offsetX + "   " + event.offsetY);
             }
        }
    }

HTML 代码:

<div class="paymentTracker" onmouseover="MousePos();">

</div>

如果我只显示警告框但此代码有问题,则该功能正常工作。我只想要 Firefox 浏览器上的鼠标位置。 提前致谢。

【问题讨论】:

  • 也许将 pageX 更改为 clientX,将 pageY 更改为 clientY?
  • 到目前为止我已经完成了所有这些工作,但它不起作用,并且在浏览器检查控制台中显示未定义。如果我删除 Mozilla 的条件,它所有的工作在其他浏览器上。但它不仅适用于 Mozilla。
  • @Super Cool Handsome Gel Boy 谢谢。我做了这些改变。现在它在未定义的位置显示 NaN,而不是在警报框上显示位置。 .
  • 第一个答案有两种情况。确保您使用的是 javascript,而不是 jquery。

标签: javascript jquery html firefox


【解决方案1】:

试试这个:我认为它不起作用,因为它没有采用您在 html 中定义的 onmouseover 功能。

$( ".paymentTracker" ).mouseover(function(event) {

             var x = event.clientX;
var y = event.clientY;
var coords = "X coords: " + x + ", Y coords: " + y;
             alert(coords);

});


<div class="paymentTracker"></div>

 <style>
.paymentTracker {width:300px; height:300px;border:1px solid;}
 </style>

这是小提琴:https://jsfiddle.net/0yptrjdw/

用你的代码

$( ".paymentTracker" ).mouseover(function(event) {
var targetOffset = $(event.target).offset();
             event.offsetX = event.pageX - targetOffset.left;
             event.offsetY = event.pageY - targetOffset.top;
             alert(event.offsetX + "   " + event.offsetY);


});

【讨论】:

  • 不!请注意,clientX 和 offsetX 不同,请查看我在评论 fyi 中提供的链接
  • clientX 和 offsetX 会给出不同的数字,OP 想要 offsetX! clientX 相对于绝对位置,offsteX 相对于事件元素。
  • 我在我的回答中也添加了这一点,他可以提醒他想要的一切:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多