の後にフォーム入力ボックスの値を確認する関数を呼び出す必要があり、それに対応するすべてのコールバックハンドラが終了して返されました。 200ミリ秒後に入力ボックスの値をチェックするコールバックハンドラにタイマーを置くか、値が期待どおりであるが、コールバックハンドラの最後で値をチェックすると、空の。javascript/jQuery関数_after_イベントが完了して返されました
// case 1
$('textbox').keyDown(function(){
...
console.log($(this).val()); // empty, not as expected
});
// case 2
$('textbox').keyDown(function(){
...
var $textbox = $(this);
var timer = setTimeout(function(){
console.log($textbox.val()); // works as expected
clearTimeout(timer);
}, 200);
});
ので、完全に終了している機能イベントの後を呼び出すためのJavaScript/jQueryのでクリーンな方法は何ですか?
(はい、私はonChangeイベントを認識していますが、試してみましたが、このシナリオでは機能しません。ユーザー定義のキーの組み合わせを検出しようとしています。このコーナーのケースでは、keyPressイベントとkeyUpイベントはどちらも起動しません。ちょうどkeyDownです。
を解決なぜあなたは、あなたがしようとしているコードが表示されないのですか? – AmGates
@AmGates:完了。 – Suan
私が見ているのは、あなたが解決しようとしている問題(ええとAlt + U escenario)は、その相互作用がOSによって中断されているためFFで実行できないということです。つまり、altボタンを押すと聞くことができますが、それを 'u'キーと組み合わせると、ブラウザがシステムによって完全に中断されたように見えます。しかし、Chromeでは、このキーの組み合わせを取得できます。 – Davsket