我正试图将鼠标点击特定元素的坐标推到数组的末尾。这就是我所拥有的:
在头上:
var seatsArray = [];
在身体里:
var coordinates = document.getElementById("image");
coordinates.onclick = function(event) {
seatsArray.push(offsetX, offsetY);
}
document.write("Seats array contains: " + seatsArray + ".");
可能是一些简单的东西,但我是javascript的新手,所以我很感激为什么它不起作用的任何帮助!
由于
答案 0 :(得分:1)
我看到的两件事,将点击事件改为:
coordinates.onclick = function(event) {
event = event || window.event;
if (!window.event) { // thanks firefox
event.offsetX = event.layerX;
event.offsetY = event.layerY;
}
seatsArray.push(event.offsetX, event.offsetY);
}
Firefox offsetX / Y是layerX / Y,即拥有全局事件对象。
但如果你想要全球的cordinates尝试这个:
coordinates.onclick = function(e) {
e = e || window.event;
if (e && e.pageX && e.pageY) {
e.posX = e.pageX;
e.posY = e.pageY;
} else if (e && e.clientX && e.clientY) {
var scr = {x:0,y:0},
object = e.srcElement || e.target;
//legendary get scrolled
for (;object.parentNode;object = object.parentNode) {
scr['x'] += object.scrollLeft;
scr['y'] += object.scrollTop;
}
e.posX = e.clientX + scr.x;
e.posY = e.clientY + scr.y;
}
seatsArray.push(e.posX, e.posY);
}