jQuery 1.4.1中的实时更改处理程序仍然不能始终适用于IE中的select元素

时间:2010-01-27 19:12:55

标签: javascript jquery jquery-1.4

这个问题与我关于jQuery 1.4的last one有关。他们据说修复了导致更改处理程序无法在IE中工作的错误,但它并没有完全修复。

我正在尝试将实时更改处理程序绑定到select元素。大多数情况下,当我更改它时,事件处理程序会触发。但是如果我在页面加载后立即选中元素,然后尝试使用键盘更改值,然后选项卡远离它,事件不会在IE中触发。这只在我第一次尝试更改值时发生。我在IE 6,7和8中注意到了这一点。在我尝试过的任何其他浏览器中都没有这种情况。我确信这是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 2</title>
</head>
<body>
<script type="text/javascript" src="jquery-1.4.1.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>

1 个答案:

答案 0 :(得分:2)