我有一个包含输入的表单:
<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!')
});
关于javascript - Firefox onchange 不调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12458824/