我正在使用HTML 5画布并尝试通过HDMI连接到另一台显示器的mac中的safari获取事件坐标。该活动在Chrome,Firefox,IE和Windows上的safari中运行得非常好。它也适用于Mac上的safari,没有额外的显示器。
目前,如果附加了显示器,则通过“mouseover”/“mousemove”事件返回的坐标不正确。当我点击鼠标并拖动时,事件会在帆布行程中触发。
任何帮助将不胜感激。被困在这一段时间了。
function writeMessage(canvas, message) {
var context = canvas.getContext('2d');
document.getElementById('divSaveMessage').innerHTML = message;
}
function getMousePos1(canvas, evt) {
var rect = canvas.getBoundingClientRect();
return {
x: evt.clientX - rect.left,
y: evt.clientY - rect.top
};
}
var canvas = document.getElementById('Main_canvas');
var context = canvas.getContext('2d');
var mouseX, mouseY;
canvas.addEventListener('mousemove', function (evt) {
var mousePos = getMousePos1(canvas, evt);
mouseX = mousePos.x;
mouseY = mousePos.y;
alert("1")
var message = 'Mouse position: ' + mousePos.x + ',' + mousePos.y;
writeMessage(canvas, message);
}, false);