我々はぼかしを防ぐ停止またはfield.then 5第二のユーザの後の入力で5秒間タブで移動する一つのフィールドからanother.Iにタブがoff
とon
機能を使用することができますが、それは.hereに動作しないことができ、私のコード http://jsfiddle.net/GV3YY/99/jqueryのタブを防ぐ方法?
$("input").off("blur");
setTimeout(function(){
$("input").on("blur");
},5000)
我々はぼかしを防ぐ停止またはfield.then 5第二のユーザの後の入力で5秒間タブで移動する一つのフィールドからanother.Iにタブがoff
とon
機能を使用することができますが、それは.hereに動作しないことができ、私のコード http://jsfiddle.net/GV3YY/99/jqueryのタブを防ぐ方法?
$("input").off("blur");
setTimeout(function(){
$("input").on("blur");
},5000)
入力が集中しているときは入力を「ロック」し、5秒後には「設定解除」を使用する必要があります。素朴な実装は、次のようになります。https://jsfiddle.net/my7wk6gj/2/
更新:クリックすると擬似的にぼかしが防止されます。ぼかしはまだ発生しますが、5秒が経過するまでフォーカスが元の入力に戻されます。
var lockInput = false;
var focusTarget = null;
var lockTimeout = null;
$('input').on('focus', function (e) {
if (lockTimeout) {
return;
}
lockInput = true;
lockTimeout = setTimeout(function() { lockInput = false; lockTimeout = null }, 5000)
}).on('keydown', function (e) {
if (e.keyCode === 9 && lockInput) {
e.preventDefault();
return false;
}
}).on('blur', function (e) {
console.log('blur')
if (lockInput && focusTarget === null) {
focusTarget = e.target;
setTimeout(function() {
focusTarget.focus();
focusTarget = null;
});
}
});
グローバル変数
は一例に使用されている...私はぼかしのために働くことevent.stopImmediatePropagation
を得ることができなかったので、これは次善の策ですが、私はそれに対してアドバイスをしたいです。
また、多数の入力がある場合は、すべてのリスナーを追加するのではなく、イベント委任を使用することをおすすめします。
ITが正しくありません。ステップ:アプリケーションの変更時間を5秒から15秒まで実行します。 "abc"を使用し、タブのキーワード..を使用するボタンにフォーカスを移動するが、それは15秒前にそれに行くべきではない。入力フィールドにぼやけを防止する必要がある – user944513
あなたの質問は、入力。コードは、あなたが求めたことを行います。おそらく、「ITが正しくありません」と返答するのではなく、適切な質問を書く時間を費やすでしょう... – Dogoku
申し訳ありませんが、これは私の間違いです – user944513
あなたは '' e.keycode''を試しましたか? –
HTMLの 'tabindex'属性を' -1'に設定しようとしましたか? '$(セレクタ).attr( 'tabindex'、 '-1');'。 – PHPglue
5秒間入力フィールドには何も入力できますが、フォーカスをボタンに移動することはできませんが、5秒後にフォーカスをボタンに移動することができます – user944513