我想在页面上找到鼠标点击事件的坐标。写了一小段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案例?
提前感谢您的帮助。
答案 0 :(得分:2)
jQuery(它看起来像你正在使用)为你排序事件参数与全局event
属性问题,所以你不必担心这一点。它还会对pageX
和pageY
属性进行标准化。
$("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);
});