Я наконец-то нашел решение, но с использованием canvas.addEventListener вместо функции связывания onclick в атрибутах canvas. И это работает в IE, FF, Chrome.
canvas.addEventListener('mousedown', ev_canvas, false);
function ev_mousedown(ev){
var posx=0;posy=0;
if (e.offsetX > 0) { // IE, Chrome
posx = e.offsetX;
posy = e.offsetY;
} else{ // Firefox
posx = e.layerX;
posy = e.layerY;
}
} // This also works correctly while zoom!=100%
<div style="position: relative;">
<canvas id="canvas" width="600" height="600" onClick="newClick()" style="position: relative;"></canvas>
</div>
См. Ссылку: http://dev.opera.com/articles/view/html5-canvas-painting/
Следующие коды не работают в Firefox.
showNote = function(evt) {
evt = evt || window.event;
// gets note1 element
var note1=document.getElementById('note1');
// assigns X,Y mouse coordinates to 'note1' element
note1.style.left=evt.clientX;
note1.style.top=evt.clientY;
// makes note1 element visible
note1.style.visibility='visible'
}
Я использую Google для многих решений и ссылаюсь на относительно официальный сайт для браузеров: http://www.quirksmode.org/dom/w3c_cssom.html#mousepos
Но все еще не нашли решения в Firefox 20.
У window.event нет определения в FF. Но хорошо работает в IE и Chrome.
Интересно, я что-то не так понял в этом пункте?