我最近决定尝试jQuery 1.4,很高兴我最终会支持在IE中为变更事件工作的实时事件处理程序。然而,似乎他们并不总是有效。如果我尝试在select元素上分配实时更改处理程序,则在IE中更改它时它不起作用。
我在IE 6,7和8中尝试了这个。在我试过的其他浏览器(Firefox,Chrome,Safari)中,它运行正常。我尝试使用命令在ready函数中分配处理程序,但没有修复它。
有没有人知道造成这种情况的原因或我可以采取哪些措施来解决这个问题?我做错了什么,或者这是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>
答案 0 :(得分:3)
看起来已修复。不确定它何时上线。
票证 - http://dev.jquery.com/ticket/5851
GitHub提交 - http://github.com/jquery/jquery/commit/435772e29b4ac4ccfdefbc4045d43f714e153381
答案 1 :(得分:0)
来自here
可能的事件值:click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,keydown,keypress,keyup
目前不支持:模糊,焦点,鼠标中心,鼠标离开,更改,提交
更改,我的朋友,尚未得到现场支持