2

javascriptで左クリックを右クリックとして動作させる方法を知りたいです。左クリックすると、コンテキストメニューが表示されます。

よろしく。

4

2 に答える 2

2
  1. ドキュメントにクリック イベント リスナーを追加する
  2. クリックされた dom-tree の最下位の要素を保存する
  3. クリックイベントから受け取ったのと同じx座標とy座標を持つその要素に対して、イベント「右クリック」(またはそれが呼び出されたもの)を発生させます。

イベントリスナー:

document.addEventListener('click', function(e) {
    console.log(e);
});

これにより、すでに多くの情報が得られます。マウスクリックの x/y 座標を取得し、さらに重要なことに、クリックを受け取った要素を取得します: e.originalTarget (イベントはブラウザーごとに異なることに注意してください)。

要素を保存します。

document.addEventListener('click', function(e) {
    var originalElement = e.srcElement || e.originalTarget;
});

その要素を右クリックします。

document.addEventListener('click', function(e) {
    var originalElement = e.srcElement || e.originalTarget;
    if (document.createEvent) {
        var ev = document.createEvent('HTMLEvents');
        ev.initEvent('contextmenu', true, false);
        originalElement .dispatchEvent(ev);
    } else { // Internet Explorer
        originalElement .fireEvent('oncontextmenu');
    }
});

編集:

まだ動作していないようですので、純粋な js で右クリックを発生させるためにこの方法を使用することを検討してください:すべてのブラウザで右クリック イベントを生成する方法

于 2013-06-25T07:07:09.977 に答える
0

これを試して

    $(document).contextmenu(function (event) {
        $(event.target).click();
        event.preventDefault();
    })
于 2013-06-25T07:10:43.067 に答える