获取“更改”以在IE9中工作

时间:2011-09-12 07:14:11

标签: javascript jquery input internet-explorer-9 onchange

我无法使用.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>

有什么想法吗?

4 个答案:

答案 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");
});