ぼかしイベントとクリックイベントを同期させるのが難しいと感じています。シナリオは次のとおりです。テキストボックスとボタンがあるページがあります。これで、テキストボックスのblurイベントハンドラーができました。これは基本的にAJAXリクエストを作成し、ページの一部を更新します。また、他の仕事をするボタンのクリックハンドラーもあります。
ここでの問題は、テキストボックスにぼかしイベントハンドラーがあるため、テキストボックスに何かを入力してボタンを直接クリックすると、ぼかしイベントとクリックイベントの両方が発生することです(予想どおり)。問題は、2つを同期することです。これは、クリックハンドラーは、ブラーハンドラーが戻ったときにのみ実行される必要があるためです(ブラーイベントが発生した場合)。
サンプルコードは次のとおりです。
$('#textbox').on('blur', function(){
//make an ajax request
});
$('#btn').on('click',function(){
//wait for the blur event to finish(if any)
// then execute the code
})