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

时间:2011-10-24 09:38:52

标签: javascript jquery javascript-events

我想在页面上找到鼠标点击事件的坐标。写了一小段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案例?

提前感谢您的帮助。

4 个答案:

答案 0 :(得分:2)

jQuery(它看起来像你正在使用)为你排序事件参数与全局event属性问题,所以你不必担心这一点。它还会对pageXpageY属性进行标准化。

$("body").click(function(evt) {
    var xx = evt.pageX;
    var yy = evt.pageY;

    console.log('Click called on body.' + xx + ':' + yy);
});

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

编辑:似乎提供了pageX和pageY以及其他一些......

答案 3 :(得分:0)

您需要在点击功能调用中传递事件变量,例如

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