Javascript 获得;更改“;在IE9工作
我无法使用.change()在Internet Explorer 9中处理输入。它适用于所有其他浏览器(我已经尝试过),但不适用于IE9Javascript 获得;更改“;在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>
<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。