DoS007 schrieb:
Die wichtigere Frage wäre, wozu?
Es ist ja nicht nur der Linksklick... Drag'n'Drop kannst du mit dem Down- statt Up-Handler vergessen. Markieren von Text ist ebenso nicht mehr möglich. Und wie sieht es eigentlich mit der Interaktion auf den Seiten selbst aus? Diese können sich ebenso an Down- oder Up-Events hängen. Hast du eigentlich auch an Doppelklicks gedacht?
Rein auf die Frage bezogen: Ja klar.
DoS007 schrieb:
Nein, außer du änderst auch alle folgenden Events (einige siehe oben) ab.
King_Rollo schrieb:
Hm... das ist ja eher ein Windows-Feature, oder?
Nein, das kann jede Anwendung selbst festlegen. In Windows ist es aber Konvention, dass erst der Up-Handler die Reaktion auslöst. Gnome hat bspw. die Eigenart viel beim Down-Handler zu erledigen. Bspw. ist es für mich extrem nervig, wenn du klickst, die Maus etwas ziehst und aus Versehen die Maustaste loslässt, dass dort bereits die Aktion passiert, auf die du zeigst, obwohl es gar nicht deine Intention war. Windows löst beim Up-Handler aus, wozu du aktiv klicken musst, damit bspw. die Menüleiste aufklappt und dann nochmal klicken musst, um den gewünschten Eintrag auszuwählen.
Wenn eine Anwendung natürlich die Windows APIs nutzt, dann überträgt sich die Konvention natürlich genauso in die Anwendung.
Sehr schön aber auch am Firefox selbst zu sehen wie die Willkür und Inkonsistenz um sich schlägt. "Alles" verhält sich quasi nach Windows-Norm (Up-Handler), aber klickst du bspw. in der Toolbar aufs Hamburger-Menü oder auch das Überhang-Menü, klappt dies bereits beim Down-Handler auf. Ein Klick auf ein Icon in der Statusleiste (welche jetzt in der URL-Leiste eingebettet ist), löst bspw. erst der Up-Handler auf.
Zur Lösung selbst: Du musst dich hierbei nur direkt mit dem Firefox auseinander setzen. Bspw. könntest du in jede Seite dein eigenes Script injecten (via Tampermonkey bspw.) jeden Klick auswerten, das Target prüfen und wenn es ein Link ist, diesen beim Down-Handler manuell auslösen. Anders gehts nicht, sonst hättest du viel zu viele Seiteneffekte. Allerdings müsstest du weiterhin prüfen, ob die Seite nicht selbst irgendwelche Handler dort registriert hat, damit du gefahrlos deine Aktion ausführen kannst und nicht mit anderen Aktionen kollidierst.