2016-05-29 5 views
1

私は、タッチスクリーン付きのjQueryスクリーンキーボードプラグインを使用しています。 入力が4文字に達したときにキーボードを閉じたいと思っています。 残念ながら、キーボードは4文字に達したときのみ認識し、最大入力を4文字に制限できます。 ユーザはキーボードを手動で閉じなければなりません。 キーボードを閉じるコードはありますか?私はchangeコールバックでsetTimeoutを追加することをお勧めするつもりだったが、その後、私はキーボードを閉じたと「からkeyup」イベントがまだあったので、ポップアップJavaScriptのエラーに気づいた、最初Mottieのバーチャルキーボードを閉じると真になります

$('#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; 
     } 
    }); 

答えて

1

: はここに私の実際のスクリプトです発射。

はとにかく、私はそれらのエラーを修正して新しいautoAcceptOnValid option追加 - (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

おかげ@Mottieを!これは素晴らしい作品です! – pollux1er

+0

キーボードを閉じた後にJavaScript関数を起動したいのですが? – pollux1er

+1

['hidden'イベント](https://github.com/Mottie/Keyboard/wiki/Methods#events)にバインドします。 – Mottie

関連する問題