鼠标单击事件- Firefox上的鼠标坐标

Mouse click events - mouse coordinates on Firefox

本文关键字:鼠标 坐标 单击 事件 Firefox      更新时间:2023-09-26

我想找出鼠标点击事件在页面上的坐标。写了一小段JS,在Chrome上运行良好,但在Firefox上不行。似乎默认的全局"事件"在Firefox中不可用。以下是在Chrome上运行的代码的较小版本:

 $("body").click(function() {
    if (event == undefined)  // for Chrome, 'event' is not undefined here
        var event = window.event;           
    var xx;
    var yy;
    if (event) {
    // Need this for Chrome (and IE)
        xx = event.x;
        yy = event.y;
    } else {  
      // firefox 
      // WHAT SHOULD I DO HERE?
    }
    console.log('Click called on body.' + xx + ':' + yy);
}

我应该如何管理Firefox案例?

jQuery(看起来您正在使用)为您整理事件参数与全局event属性问题,因此您无需担心。对pageXpageY的性质也进行了正态化。

$("body").click(function(evt) {
    var xx = evt.pageX;
    var yy = evt.pageY;
    console.log('Click called on body.' + xx + ':' + yy);
});

JQuery将事件作为第一个参数传递给点击处理程序。

您忘记将事件作为参数传递。使用下面的格式,并执行console.log(e)来获取与之相关的所有数据。但我不确定它有x和y坐标,你可能需要得到它点击的元素的坐标。

$("body").click(function(e) {
}

EDIT: pageX和pageY似乎提供了,以及一堆其他…

你需要在click函数调用中传递事件变量,例如

.click(function(e){
    console.log(e);
});