Safari Canvas鼠标悬停检测

时间:2015-12-24 23:28:10

标签: javascript html5 canvas safari

我正在使用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);

0 个答案:

没有答案