Событие mouseclick внутри события mouseclick работает с IE и другими браузерами, а не с Firefox

Пожалуйста, смотрите код ниже... Целью кода является отображение плавающего меню при щелчке правой кнопкой мыши по экрану, и меню должно скрываться при щелчке левой кнопкой мыши по экрану. Ниже прекрасно работает с IE и Chrome, но не работает в Firefox. Я попробовал отладку с помощью firebug, но никаких положительных результатов.

$(document).ready(function () {
    document.onmousedown = onMouseClick;
}

function onMouseDown(ev) {

    document.oncontextmenu = onClickRightMouseButton; //to hide default menu on right click

    if (ev.which == 1) {
        console.log('1');
    }

    if (ev.which == 2) {
        console.log('2');
    }

    if (ev.which == 3) {
        var xPos = ev.clientX;
        var yPos = ev.clientY;

        document.onmousedown = onMouseClick;
        showFloatingMenu(xPos, yPos);
    }

    function onMouseClick(e) {
        if (e.which == 1) {
            if (!(e.clientX >= xPos && e.clientX <= (xPos + 200) && e.clientY >= yPos && e.clientY <= (yPos + 50))) { //50x200 is the floating menu diamension
                hideFloatingMenu();
            }
        }
    }

}
}

0 ответов

Другие вопросы по тегам