Wie erkenne ich einen Tastaturmodifikator in einem Bookmarklet?

7

Gibt es eine Möglichkeit zu erkennen, ob der Benutzer beim Ausführen eines JavaScript-Bookmarklets die Umschalttaste (oder andere Zusatztasten) gedrückt hält?

In meinen Tests von Safari 3.1 und Firefox 3 ist window.event immer undefiniert.

    
rentzsch 26.09.2008, 18:42
quelle

2 Antworten

17

Wenn Sie nach einer Möglichkeit suchen, die Mausposition zu erkennen, während das Bookmarklet physisch angeklickt wird, gibt es keine Möglichkeit. Da das Bookmarklet außerhalb einer beliebigen Seite positioniert ist (dieser Bereich wird allgemein als "chrome" bezeichnet) - was verwirrend ist, da es jetzt einen Browser mit diesem Namen gibt), können dort keine JavaScript-bezogenen Ereignisse erkannt werden.

Wenn Sie dies als Firefox-Erweiterung erstellt haben, haben Sie Zugriff auf Ereignisinformationen, JavaScript und Tastaturmodifikatoren. Aber das scheint nicht das zu sein, wonach Sie suchen.

    
John Resig 26.09.2008, 18:48
quelle
2

window.event ist nur ein IE. Ereignisobjekte werden als Argument in Firefox und Safari an einen Ereignis-Listener übergeben. So können Sie im IE, aber nicht in irgendeinem anderen populären Browser sagen.

    
howardr 26.09.2008 19:35
quelle