Ändern Sie die Maus-keycode - jquery
Als ich gehört habe, die verschiedenen Browser weisen unterschiedliche keycode-Werte an Maus-Schaltflächen, die auf mousedown
Veranstaltung. Ich habe versucht diese in Chrome und es funktionierte:
$('a').mousedown(function(f) {
if (f.which == 2) {
alert("You clicked the wheel")
}
})
Aber ich fürchte, manche Browser erkennen nicht, das Mausrad ist der Schlüsselcode 2 und verwirren Sie es mit der anderen Maus-Tasten, also den Absturz des code. Meine Frage ist, ob es irgendeinen Weg gibt, diese Werte zurückzusetzen, so dass ich verwenden können, die neue, die ich so alle Browser wissen, was die zahlen genau darstellen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit jQuery,
2
repräsentieren Sie das Mausrad oder die «Mitte-klicken Sie auf die Schaltfläche». Sie können diese Werte ändern, aber Sie müssen auch nicht, denn wenn man etwas anderes als2
auff.which
, es ist wahrscheinlich nicht das Mausrad, das wurde abgeschossen.Gibt es zwei Maus-event-Modelle, die von W3C und eine von Microsoft.Browsern (auch IE7 und IE8) zu implementieren der W3C-standard.
UPDATE
In Javascript, die Maus-event-button ist nicht normalisiert, weil das zwei verschiedene standards. Tatsächlich, jQuery normalisiert die, die auf der Maus-Ereignis:
event.which
?event.button
, sondern schuf noch ein anderes encoding statt, so dass es noch mehr verwirrend. Aber dann wieder, dies ist ein desaster, das musste behoben werden, die vor langer Zeit von W3C.Nach W3C-Ihre Werte sollten sein:
Laut Microsoft seine Werte sollten sein:
Aber Sie haben nicht zu denken (cross-browser-Problem), lassen Sie es auf
jQuery
, in jedem browserwhich
wird das gleiche Ergebnis zurückgebenDEMO. (Getestet in IE, Chrome und FF)