0

以下のコードを参照してください... コードの目的は、画面を右クリックするとフローティング メニューを表示し、画面を左クリックするとメニューが非表示になるようにすることです。以下は 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();
            }
        }
    }

}
}
4

0 に答える 0