我有一个包含输入的表单:<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!')
});