我无法使用.change()来处理Internet Explorer 9中的输入。它适用于所有其他浏览器(我尝试过)但不适用于IE 9。
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function() {
$('.myInput').change(function () {
alert("hi");
});
});
</script>
<input class="myInput" />
</body>
</html>
有什么想法吗?
答案 0 :(得分:1)
通过添加适当的属性告诉IE它是文本框:
<input class="myInput" type="text" />
编辑:虽然更好的做法是指定类型,这不是问题,IE9中的works fine对我来说,所以像Jon问:你的意思是“不工作”?
答案 1 :(得分:0)
我测试它时有效:http://jsfiddle.net/Guffa/WUEXD/
我建议你在页面上有一个doctype,当你在代码中使用XHTML时,它就是XHTML doctype:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
为了避免挑剔的浏览器出现问题,请将输入放在表单中,然后设置type
属性:
<form>
<input type="text" class="myInput" />
</form>
答案 2 :(得分:0)
对不起伙计们。就像你说的那样工作。问题是我在输入上有一个验证脚本,其中一个regualar表达式在IE9中不起作用(但在IE8中)。 非常感谢你...
答案 3 :(得分:-2)
使用按键而不是更改。
$('.myInput').keypress(function () {
alert("hi");
});