как имитировать щелчок правой кнопкой мыши в JavaScript [дубликат]

На этот вопрос уже есть ответ здесь:

Нажмите правую кнопку мыши, используя чистый Javascript 3 ответа

Хорошо, я знаю, что могу смоделировать щелчок, запустив этот код

document.getElementById('recover').click();

самое близкое, что я мог найти, было cntextmenu, поэтому я попытался

document.getElementById('recover').contextmenu();

Однако это ничего не делает

Можно ли щелкнуть правой кнопкой мыши и элемент, чтобы вызвать контекстное меню, чтобы я мог щелкнуть элемент в этом списке? и если так, то может ли кто-нибудь указать мне правильное направление для достижения такой цели?

Я провел некоторый поиск, но единственное, что я нашел, это захват jquery javascript события, которое на самом деле не вызывает eventI '

 epascarello13 июн. 2013 г., 18:33
Это пользовательское контекстное меню или браузер?s?
 mcgrailm13 июн. 2013 г., 18:46
повторяющийся вопрос, который мне почему-то не удалось найти для меня сейчас, мне просто нужно выяснить, какой элемент нажать :)
 Rich Bradshaw13 июн. 2013 г., 18:35
Вы можете't открыть контекстное меню браузера по умолчанию. Вы можете угнать это и сделать свой собственный, хотя.
 Claudio Redi13 июн. 2013 г., 18:32
сказал бы этоЛучше использовать пользовательское меню, чтобы вы могли лучше управлять им.

Ответы на вопрос(2)

вы можете использовать функцию триггера jQuery ().

$('#recover').trigger({
    type: 'mousedown',
    which: 3
});

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

$('#recover').trigger({
    type: 'mousedown',
    which: 3
}).trigger({
    type: 'mouseup',
    which: 3
});

Я не большой поклонник создания таких длинных команд, но все, что наиболее удобно для вашего приложения, вполне подойдет.

 Anders Lindén11 нояб. 2016 г., 14:23
Это не работает. Вы можете удалить это?
 Jordan23 янв. 2014 г., 18:04
Что заставляет тебя так думать?не работает, @andreaconsole? Ты неУ меня нет записей, чтобы доказать это человеку, но компьютер, вероятно, работает нормально. Что ты ожидал от этого? Кроме того, вы должны создать новый вопрос, вероятно.
 Jordan13 июн. 2013 г., 18:38
Отлично, даунвот для рабочего решения. Молодцы, аноним.
 andreaconsole23 янв. 2014 г., 22:56
Вы правы, Джордан, я ожидал увидеть контекстное меню, но обнаружил, что этого не произойдет, даже если бы я нене понимаю, почему именно ...
 andreaconsole23 янв. 2014 г., 09:47
Почему нетт демо работа?jsbin.com/OjubeKU/1/edit

с помощью jQuery

$('#recover').trigger({
    type: 'mousedown',
    which: 3
});

иначе

var element = document.getElementById('recover');
var e = element.ownerDocument.createEvent('MouseEvents');

e.initMouseEvent('contextmenu', true, true,
     element.ownerDocument.defaultView, 1, 0, 0, 0, 0, false,
     false, false, false,2, null);


return !element.dispatchEvent(e);

Ваш ответ на вопрос