我有一个代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready( function() {
$("#my_select").change(function(e){alert(e);})
$("#my_select").focus();
});
</script>
</head>
<body>
<select id="my_select">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<input />
</body>
</html>
在IE中打开,选择将处于焦点,使用上/下/字母键盘按钮选择任意数字,然后按enter / tab键不会触发警报。 WHY ????
PS:是的jquery版本已经老了,我知道了,但我现在无法切换到更新的版本。
PS2:IE8和IE6
答案 0 :(得分:1)
它可能不会在模糊(输入/选项卡)上触发,因为它已经在箭头上向上或向下触发 - 这在IE9中尝试时就是这样。
IE(也是Opera)在处理change
元素的<select>
事件时遇到了“错误”:http://www.quirksmode.org/dom/events/change.html#t05
另请注意,jQuery 1.4.2和旧版IE之间的问题可能会对此产生影响,因为1.4.2报告了一些错误,并在1.4.3中得到修复:#6374和{{3} }。