0

我最近决定尝试 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>
4

2 回答 2

3

看起来它已经修复了。不知道什么时候上线。

票 - http://dev.jquery.com/ticket/5851

GitHub 提交 - http://github.com/jquery/jquery/commit/435772e29b4ac4ccfdefbc4045d43f714e153381

于 2010-01-20T22:15:23.527 回答
0

这里

可能的事件值:click、dblclick、mousedown、mouseup、mousemove、mouseover、mouseout、keydown、keypress、keyup

目前不支持:blur、focus、mouseenter、mouseleave、change、submit

改变,我的朋友,还没有被live支持

于 2010-01-20T21:48:14.900 回答