我最近决定尝试 jQuery 1.4,很高兴我终于可以支持实时事件处理程序,这些处理程序适用于 IE 中的更改事件。但是,它们似乎并不总是有效。如果我尝试在选择元素上分配实时更改处理程序,那么当我在 IE 中更改它时它不起作用。
我在 IE 6、7 和 8 中尝试过。在我尝试过的所有其他浏览器(Firefox、Chrome、Safari)中,它都可以正常工作。我尝试将命令在准备好的函数中分配处理程序,但这并没有解决它。
有谁知道是什么原因造成的,或者我能做些什么来解决它?我做错了什么,还是这是 jQuery 中的错误?这是一个例子:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<title>jQuery live change handler test</title>
</head>
<body>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<select id="test">
<option value="a">a
<option value="b">b
</select>
<script type="text/javascript">
$("#test").live("change", function() {
alert('hi');
});
</script>
</body></html>