jQuery Hotkeys ... nicht so global

8

Grundsätzlich verwende ich jQuery Hotkeys-Plugin von Mr Resig, um Verknüpfungen wie ctrl+o usw. zu erfassen und zu verarbeiten. ..

OK, vielleicht verstehe ich das Konzept nicht, aber ich hatte den Eindruck, dass ein ctrl+o ausgelöst irgendwo innerhalb des Dokuments von einem Dokument-Hotkey-Handler erfasst wird.

Zum Beispiel funktioniert der folgende Code im Allgemeinen ...

%Vor%

Es versagt jedoch kläglich, wenn der Benutzer den Hotkey innerhalb einer Eingabebox auslöst.

Es funktioniert nur, wenn ich Folgendes mache:

%Vor%

Das ist ziemlich schlecht für meine Gesundheit, da es jedes Mal, wenn ein neues Eingabefeld zum DOM hinzugefügt wird, den verdammten Handler bindet. Schlimmer noch, ich habe keine Ahnung, an was ich bei komplexen Widgets wie CodeMirror binden soll.

Weiß nicht, ob mein Problem einen Sinn ergibt, vielleicht benutze ich den falschen Ansatz? Ich habe auch versucht, an die folgenden Objekte zu binden, aber es hat nicht funktioniert: window , document , body , div[contains the whole page]

Hinweis: Sie können es hier ausprobieren .

    
Christian 01.05.2012, 18:24
quelle

2 Antworten

6

Dies ist eigentlich die beabsichtigte Funktionalität des Plugins:

%Vor%     
James Montagne 01.05.2012, 18:40
quelle
1

Ja, JqueryHotkeys ist kläglich gescheitert, wenn der Benutzer den Hotkey in einem Eingabefeld auslöst.

Alternativ habe ich, als ich durchsucht habe, shortcut.js herausgefunden, das ähnliche Funktionen bietet wie das von Jquery-Hotkeys.

Wichtig Es gibt auch eine Option zum Aktivieren oder Deaktivieren der "benutzerdefinierten Verknüpfungsfunktion" in einem Eingabefeld.

    
Yothesh 17.07.2012 13:59
quelle