Как получить событие правого клика в моем веб-приложении - PullRequest
0 голосов
/ 21 января 2020

Я не хочу отключать правый клик. Я хочу сделать это видимым для моего приложения. Когда я щелкаю правой кнопкой мыши, событие не попадает в мое веб-приложение и перехватывается самим браузером. Я ожидаю, что есть простой способ сказать Chrome или Safari, что не делать этого, и позволить правой кнопкой мыши добраться до самого приложения. Люди указали мне, как javascript использует функцию контекстного меню. Это НЕ то, что мне нужно. Кажется, правый клик обрабатывается самой Chrome и никогда не попадает в мое приложение.

Ответы [ 2 ]

0 голосов
/ 21 января 2020

Как упомянуто в Как я могу захватить событие щелчка правой кнопкой мыши в JavaScript? , вы можете захватить событие щелчка правой кнопкой мыши, не обращаясь к контекстному меню, например:

function rightclick() {
    var rightclick;
    var e = window.event;
    if (e.which) rightclick = (e.which == 3);
    else if (e.button) rightclick = (e.button == 2);
    alert(rightclick); // true or false, you can trap right click here by if comparison
}
0 голосов
/ 21 января 2020

Не уверен, что означает "javascript contextmenu", но это должно сработать:

(запустить фрагмент и щелкнуть правой кнопкой мыши черный ящик)

let testEl = document.getElementById('test');
testEl.addEventListener('contextmenu', function(e) {
  if(e && e.preventDefault) e.preventDefault();
  alert("Right click!");
});
#test {
  width: 100px;
  height: 100px;
  background: black;
}
<div id="test"></div>

Я очень сомневаюсь, Chrome помешает вам сделать это. Если он не работает, вполне вероятно, что что-то в приложении мешает.

...