Ich benutze ein anderes Textfeld als Proxy für CodeMirror. Ich möchte Funktionen wie closebrackets.js
verwenden, die über Tastaturereignisse wie keydown
, keypress
und keyup
aktiviert werden. Ich habe verschiedene Ansätze versucht, diese Ereignisse auslösen, von denen keines verursacht haben Codemirror etwas zu erhalten:Wie kann ich Tastaturereignisse in CodeMirror auslösen?
kc = 219
e = $.Event 'keydown', { which: kc }
$(myCodeMirror.getInputField()).trigger e
funktioniert nicht. Es werden keine Ereignisse ausgelöst.
cmIF = $(myCodeMirror.getInputField())
textArea = $('<textarea></textArea>')
$('body').append textArea
textArea.keydown (e) ->
cmIF.focus()
return
kc = 219
e = $.Event 'keydown', { which: kc }
textArea.trigger e
Der Versuch, Ereignisse aus einem anderen Textbereich weiterzuleiten. Funktioniert nicht. CM nicht Ereignisse werden nicht ausgelöst.
Versuchen, das Ereignis auf jedem Kind von CMs Wrapper auszulösen. Funktioniert nicht. Keine CM-Ereignisse ausgelöst.
Was mache ich hier falsch? Wie kann ich Tastaturereignisse in einer CodeMirror-Instanz auslösen?
Sie auf dem richtigen Weg sind, aber ich möchte auf Tasten Ereignis ausgelöst, nicht nur Verknüpfungen. Zum Beispiel feuert CodeMirror ein 'onkeydown'-Ereignis, wenn ich einen Buchstaben oder eine Zahl eintippe. Ich möchte diese Ereignisse auslösen, ohne Zeichen manuell eingeben zu müssen. Mit anderen Worten, ich möchte JQuerys '$ .Event ('keydown', {welcher: aKeyCode})' Funktion auf CodeMirror verwenden. – zakdances
Ich möchte nicht auf die Veranstaltung hören, ich möchte ** das Ereignis auslösen **. Sehen Sie sich [diese andere SO-Frage] (http://stackoverflow.com/questions/832059/definitive-way-to-trigger-keypress-events-with-jquery) und [die JQuery-Trigger-Dokumente] an (http: // api .jquery.com/trigger /) als Referenz. – zakdances
Sie können der cm-Instanz nach der Initialisierung einen Ereignis-Listener wie folgt hinzufügen: Initiieren Sie: 'var cm = CodeMirror (Ziel, {Wert: Wert});' und dann hören: 'cm.on ('keydown', function (cm, e) {Alarm (e.keyCode);}); '.Entschuldigung, ich sehe Ihre Anfrage für einen ** Trigger ** jetzt. –