jQueryに焦点を合わせると、InternetExplorer9が2回実行されるようです。この問題は、古いバージョンのIEでは発生せず、FirefoxまたはChromeでは発生しません。
ユーザーに入力フィールドにコードを入力してもらいます。入力または送信すると、コードはロードを介して別のスクリプト(ajax)に送信されます。入力フィールドのコードが削除され、フォーカスが戻されます。
そのスクリプトの結果は、同じページのdivに挿入されます。
$(document).ready(function(){
$('#code').keyup(function(e){
if(e.keyCode == 13){
console.log('Code submitted through enter');
sendcode($('#code').val());
}
});
function sendcode(b){
console.log('function sendcode used');
$('#Result').load('scan.php?code=' + b);
$('#code').val('');
$('#code').focus();
};
$('#Submit').click(function(){
console.log('Code submitted through click');
sendcode($('#code').val());
});
});
ただし、focus()を削除すると問題がなくなるため、focus()が問題のようです。コードの任意の場所にfocus()を配置しようとしましたが、成功しませんでした。同じことを達成するfocus()の代替手段はありますか、それとも何らかの方法で修正できますか?
NETWORK:
URL: /scan.php?code=stackoverflow
URL: /scan.php?code=
CONSOLE: (when hit enter)
Log: Code submitted through click
Log: function sendcode used
Log: Code submitted through enter
Log: function sendcode used
2番目のロードにもコード変数が含まれていないことがわかります。