我有一个包含输入的表单:

<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不会。有人知道吗?

最佳答案

我不记得在哪里读过它,但是您应该使用.keydown() / .keyup() / .keypress()(无论哪种都适合)而不是onchange。至少对于input[type=text]

您也可以将.blur().focus用于各自的用途。

在您的问题中看到以下内容:“输入文本并单击其他位置后”,使我得出结论,您需要.blur()函数。

   $("input[type=text]").blur(function(){
       console.log('checkDomain() called!')
   });

09-12 01:38