0

入力を含むフォームがあります:

<input onchange="checkDomain(true); return false;" type="text" id="dsearch" value="" name="domain" maxlength="30"/>

これはOpera、Chrome、IEで問題なく動作しますが、FirefoxとSafariでは関数の呼び出しに問題がありますcheckDomain()。デバッグ用の関数に次の行を追加しました。

function checkDomain(check) 
{
console.log('checkDomain() called!'); 
// do rest of the stuff...
}

したがって、Chrome / Opera / IEは、テキストを入力して別の場所をクリックした後、問題なく関数を呼び出しますが、Firefox/Safariは呼び出しません。誰か手がかりがありますか?

4

3 に答える 3

1

おそらくonblurこれに最適です:

<input onblur="checkDomain(true); return false;" type="text" id="dsearch" value="" name="domain" maxlength="30"/>
于 2012-09-17T12:09:04.403 に答える
1

どこで読んだか覚えていませんが、onchange の代わりに.keydown()/ .keyup()/ (ニーズに合ったもの) を使用する必要があります。.keypress()少なくともinput[type=text].

.blur().focusをそれぞれの目的で使用することもできます。

あなたの質問でこれを見ると、「テキストを入力して他の場所をクリックした後」、 .blur() 関数が必要であると結論付けます。

   $("input[type=text]").blur(function(){
       console.log('checkDomain() called!')
   });
于 2012-09-17T12:15:29.733 に答える