Javascript 获得;更改“;在IE9工作

Javascript 获得;更改“;在IE9工作,javascript,jquery,input,internet-explorer-9,onchange,Javascript,Jquery,Input,Internet Explorer 9,Onchange,我无法使用.change()在Internet Explorer 9中处理输入。它适用于所有其他浏览器(我已经尝试过),但不适用于IE9 <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script> </head> <body>

我无法使用.change()在Internet Explorer 9中处理输入。它适用于所有其他浏览器(我已经尝试过),但不适用于IE9

<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>

$(文档).ready(函数(){
$('.myInput').change(函数(){
警报(“hi”);
});
});

有什么想法吗?

只要通过添加适当的属性告诉IE它是文本框:

<input class="myInput" type="text" />
<form>

<input type="text" class="myInput" />

</form>


编辑:虽然更好的做法是指定类型,但这不是问题所在,我在IE9中就知道了,就像Jon问的:你说的“不工作”是什么意思?

使用按键而不是更改

$('.myInput').keypress(function () {
    alert("hi");
});
当我测试它时,它会工作:

我建议您在页面上有一个doctype,当您在代码中使用XHTML时,它将是XHTML doctype:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

对不起,伙计们。正如你所说,它确实有效。问题是,我在输入上还有一个validate脚本,其中包含一个在IE9(但在IE8)中不起作用的正则表达式。
非常感谢您……

您对“it works”的定义是什么?您使用的是jQuery 1.4.4版。。尝试获取最新版本,例如1.6.3如果您还缺少
DOCTYPE
声明,最好添加它。OP显然希望在输入发生更改时触发该函数使用XHTML没有意义,除非您不关心IE,并且您的服务器配置为发送具有正确MIME类型的XHTML,通常情况并非如此。@Tim Down:可能是这样,但代码是XHTML,因此应该有一个匹配的doctype。同意它需要doctype,但代码不一定是XHTML<代码>是有效的HTML5。