Ich möchte die zusätzliche Taste meiner Logitech-Maus in einem Webkontext verwenden.
Ich verwende Ubuntu (aber es gibt ähnliche Dinge in anderen Betriebssystemen) und ich kann diese Schaltflächen mit Betriebssystemaktionen verknüpfen. ->Antwort auf: Ist Rechtsklick ein Javascript-Ereignis?
Ich möchte auf diese Schaltflächen in Javascript warten, wie auf normale Schaltflächen:
element.addEventListener(function(evt){
switch(evt.which){
case 1: //left click
case 2: //middle click
case 3: //right click
case XX: //other buttons clicks
}
}
https://stackoverflow.com/a/2405857/1064270
Die einzige Lösung, die ich sehe, ist eine Browsererweiterung undnative Nachrichtenübermittlung, zumindest auf Chrome.
Also suche ich nach einem schnelleren Weg!
Antwort1
Erstens ist dies eine Frage, die wahrscheinlich eher auf Stackoverflow als hier gestellt werden sollte.
Aber ich beantworte die Frage, weil sie bei Google aufgetaucht ist, als ich nach etwas Ähnlichem gesucht habe, also könnten sich auch andere darüber Gedanken machen.
Es gibt eine Standardspezifikation zum Erkennen von bis zu zwei zusätzlichen Maustasten (zusätzlich zur linken, mittleren (Rad) und rechten Maustaste).
Das Problem besteht darin, dass es noch in keinem Browser implementiert ist, wahrscheinlich weil es Auswirkungen auf die Erkennung von Betrugsversuchen haben könnte.
In dem event
Objekt, das an Ihren Handler übergeben wird, gibt es eine .buttons
Eigenschaft, die eine Bitmap der gedrückten Tasten ist (für mehrere Tasten gleichzeitig).
document.addEventListener('mousedown', function(ev) {
console.log('MB1', ev.buttons & 1) // 1 if clicked, 0 if not
console.log('MB2', ev.buttons & 2)
console.log('MB3', ev.buttons & 4)
console.log('MB4', ev.buttons & 8) // usually browser-back
console.log('MB5', ev.buttons & 16)// usually browser-forward
})
Die letzten beiden werden heute in keinem Browser registriert und Sie können die Browser-Zurück- und Browser-Vorwärts-Ereignisse nicht überschreiben, sodass die Seite geändert wird, wenn Sie auf diese Schaltflächen klicken (sofern sie auf dieses Verhalten eingestellt sind).