Как обнаружить правый клик + вырезать / удалить / вставить / отменить в JavaScript?
В моем коде JavaScript/jQuery у меня есть текстовое поле, в котором я запускаю событие, когда текст изменяется с помощью события keyup. Однако в настоящее время я учитываю только изменения, сделанные с помощью клавиатуры.
Есть ли способ определить, когда текстовое поле изменилось, потому что пользователь щелкнул правой кнопкой мыши и нажал на вырезать или удалить, вставить или отменить?
Примечание: это должно работать в IE9, и предпочтительно Firefox и Chrome, но определенно должно работать в IE9.
Спасибо
2 ответа
jsFiddle Demo
Используйте jquery для привязки входного события к элементу следующим образом:
$('#myInput').bind('input',function(){
//use this for the input element when input is made
var inputValue = this.value;//for example
});
Для начала, это не совсем правильный способ сделать это. Но если вы отреагируете на событие mouseout ввода, вы, скорее всего, будете вести себя так, как вам хочется.
$('#input').mouseout(function(){
if($('#input').is(":focus"))
console.log("Right-click");
});
Хотя следует заметить, что это может не сработать в текстовых областях, так как они имеют тенденцию быть больше, и мышь может находиться за ее пределами при щелчке контекстного меню.
Примечание. Кроме @Travis J, которые реагируют на все взаимодействия, это (вероятно) будет вызывать событие только при щелчке правой кнопкой мыши (и при обычной мышке).