Knockout.js Eingabefokus nach dem Klick

8

Ich versuche, den Fokus auf eine Eingabe mit knockout zu setzen, nachdem das click -Ereignis ausgelöst wurde, konnte aber keinen sauberen Weg finden, um es ohne Kopplung mit dem DOM zu handhaben. Hier ist der JS-Code, den ich habe:

%Vor%

Das ist mein DOM:

%Vor%

Hier ist das JsFiddle-Beispiel: Ссылка

Was ich möchte, dass es den Fokus auf die Eingabe legt, nachdem% ce_de% abgeschlossen ist. Irgendeine Idee, wie dies sauber gemacht werden kann, zum Beispiel mit einer benutzerdefinierten Knockout-Bindung?

    
tugberk 28.05.2013, 08:26
quelle

2 Antworten

14

Knockout hat eine integrierte Bindung zum Bearbeiten des Fokus: Die "hasfocus" -Bindung .

>

Sie müssen also nur eine boolesche Eigenschaft in Ihrem Ansichtsmodell erstellen und diese an Ihre Eingabe binden und die Eigenschaft auf true setzen, wenn Sie die Eingabe fokussieren wollen.

Oder Sie können in Ihrem Fall direkt an Ihre text -Eigenschaft binden. Wenn sie also keinen Text hat, sollte sie den Fokus haben:

%Vor%

Demo JSFiddle .

    
nemesv 28.05.2013, 08:32
quelle
4

OK, ich habe das Problem gelöst, indem ich die hasfocus-Bindung genutzt habe:

%Vor%

HTML:

%Vor%

Arbeitsbeispiel: Ссылка

Nicht sicher, ob dies der beste Weg ist.

    
tugberk 28.05.2013 08:33
quelle