2016-05-29 5 views
1

Ich benutze das jQuery Bildschirm-Tastatur-Plugin mit einem Touchscreen. Bei meiner Eingabe möchte ich die Tastatur schließen, wenn ich 4 Zeichen erreicht habe. Leider weiß die Tastatur nur, wenn ich 4 Zeichen erreicht habe und die maximale Eingabe auf 4 Zeichen begrenzen kann. Der Benutzer muss die Tastatur noch manuell schließen. Gibt es einen Code zum Schließen der Tastatur? Hier ist meine eigentliche Skript:Motties virtuelle Tastatur schließen auf validieren wahr

$('#password').keyboard({ 
     layout: 'custom', 
     customLayout: { 
      'default' : [ 
       'C D E F', 
       '8 9 A B', 
       '4 5 6 7', 
       '0 1 2 3', 
       '{bksp} {a} {c}' 
      ] 
     }, 
     usePreview : false, 
     autoAccept: true, 
     maxLength : 4, 
     // Prevent keys not in the displayed keyboard from being typed in 
     restrictInput : true, 
     // include lower case characters (added v1.25.7) 
     restrictInclude : 'a b c d e f', 
     // don't use combos or A+E could become a ligature 
     useCombos : false, 
     // activate the "validate" callback function 
     acceptValid : true, 
     validate : function(keyboard, value, isClosing){ 
      // only make valid if input is 4 characters in length 
      if(value.length === 4) 
       return true; // I want to close the keyboard here 

      return false; 
     } 
    }); 

Antwort

1

Zunächst schlage ich vor, wollte ein setTimeout im change Rückruf hinzufügen, aber dann bemerkte ich, JavaScript-Fehler auftauchen, weil die Tastatur geschlossen wurde und das „keyup“ Ereignis war noch Brennen.

Wie dem auch sei, fest ich diese Fehler und eine neue autoAcceptOnValid option hinzugefügt - es verwenden, wie folgt (demo):

$(function() { 

    $('#password').keyboard({ 
    layout: 'custom', 
    customLayout: { 
     'default': [ 
     'C D E F', 
     '8 9 A B', 
     '4 5 6 7', 
     '0 1 2 3', 
     '{bksp} {a} {c}' 
     ] 
    }, 
    usePreview: false, 
    autoAccept: true, 
    maxLength: 4, 
    // Prevent keys not in the displayed keyboard from being typed in 
    restrictInput: true, 
    // include lower case characters (added v1.25.7) 
    restrictInclude: 'a b c d e f', 
    // don't use combos or A+E could become a ligature 
    useCombos: false, 
    // activate the "validate" callback function 
    acceptValid: true, 
    // option added in v1.25.29 
    autoAcceptOnValid: true, 
    validate: function(keyboard, value, isClosing) { 
     return value.length === 4; 
    } 
    }); 

}); 
+0

Dank @Mottie !! Das funktioniert super !! – pollux1er

+0

Was ist, wenn ich eine JavaScript-Funktion nach dem Schließen der Tastatur starten möchte? – pollux1er

+1

Bindung an das [versteckte Ereignis] (https://github.com/Mottie/Keyboard/wiki/Methods#events). – Mottie

Verwandte Themen