お世話になります。
今回、safariを使用してシステム開発を行う上で、blurイベント時に意図した動きにならなかったので、
ご質問させていただきます。
###前提・実現したいこと
safariブラウザ
input textフィールドが複数ありまして、それぞれIDを付与する。
そのIDをblurイベントで拾って、処理を行う(実際は計算処理)。
###発生している問題・エラーメッセージ
オペレーションとしては下記になります
①テキストフィールド1にフォーカスを当てる
②テキストフィールド2をクリックしてフォーカスを当てる
⇒この際にテキストフィールド1のblurイベントが処理される
続いてテキストフィールド2のblurイベントが処理される
この後にテキストフィールド2にフォーカスが当たります
この時、テキストフィールド1のblurイベントが処理されあとに、テキストフィールド2のblurイベントが処理されるのは何故でしょうか。。。。。
chromeでは、テキストフィールド1のblurイベントが処理されあとにテキストフィールド2にフォーカスが当たり、テキストフィールド2のblurイベントは処理されません。
やりたいこととしては、
①テキストフィールド1にフォーカスを当てる
②テキストフィールド2をクリックしてフォーカスを当てる
⇒この際にテキストフィールド1のblurイベントが処理される
テキストフィールド2にフォーカスが当たる
という事で、フォーカスインした時の要素のblurイベントが現在は走るので、
それを走らせないようにしたいという事です。
###該当のソースコード
<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> <script> (function() { $(document).on("blur","#input1, #input2", function() { var id = $(this).attr("id"); alert(id); //setTimeout(function(){$(this).blur = null;}, 1); return false; }); })(); </script> </head> <body > cityname: <input type="text" name="City Name" id="input1"> <br/> KittyName: <input type="text" name="Kitty Name" id="input2"> </body> </html>
やり方等、ご教授いただければ幸いです。
宜しくお願いいたします。
回答1件
あなたの回答
tips
プレビュー