Javascript 在Internet Explorer 6中更改后模糊选择
这个问题真的很简单。这适用于除IE6以外的所有情况:Javascript 在Internet Explorer 6中更改后模糊选择,javascript,html,internet-explorer-6,Javascript,Html,Internet Explorer 6,这个问题真的很简单。这适用于除IE6以外的所有情况: <html> <body> </body> <select id="test" onchange="blur()"> <option name="one">One</option> <option name="two">Two</option> <option name="three">Three</option> <
<html>
<body>
</body>
<select id="test" onchange="blur()">
<option name="one">One</option>
<option name="two">Two</option>
<option name="three">Three</option>
</select>
</html>
一个
两个
三
在IE6中有没有办法让它正常工作?允许使用JavaScript和JQuery黑客
有什么想法、意见或建议吗?
提前感谢在jQuery下:
<script type="text/javascript">
$(function() {
$('#test').change(function() {
$(this).blur();
});
});
</script>
$(函数(){
$('#test')。更改(函数(){
$(this.blur();
});
});
或者您可以尝试替换:
与:
更新:实际上,IE6JavaScript引擎似乎在blur()方面存在问题
(非理想的)解决方法是:
<script type="text/javascript">
$(function() {
$('#test').change(function() {
$('body').focus();
});
});
</script>
$(函数(){
$('#test')。更改(函数(){
$('body').focus();
});
});
通过聚焦HTML文档,将失去对选择输入字段的关注。在jQuery下:
<script type="text/javascript">
$(function() {
$('#test').change(function() {
$(this).blur();
});
});
</script>
<select id="test" onchange="blur()">
$(函数(){
$('#test')。更改(函数(){
$(this.blur();
});
});
或者您可以尝试替换:
与:
更新:实际上,IE6JavaScript引擎似乎在blur()方面存在问题
(非理想的)解决方法是:
<script type="text/javascript">
$(function() {
$('#test').change(function() {
$('body').focus();
});
});
</script>
$(函数(){
$('#test')。更改(函数(){
$('body').focus();
});
});
通过聚焦HTML文档,将失去对选择输入字段的关注
<select id="test" onchange="blur()">
由于一个bug,除IE6外,其他所有版本都能正常工作。你可以通过关注其他事情来解决这个问题:
<a href="#" id="x"></a>
<select id="test" onchange="var x= document.getElementById('x'); x.focus(); x.blur();">
但是!无论如何,不要这样做。您将中断select的键盘可访问性(因为按up/down会立即发送更改事件)。这与下拉菜单和导航面临的问题相同
由于一个bug,除IE6外,其他所有版本都能正常工作。你可以通过关注其他事情来解决这个问题:
<a href="#" id="x"></a>
<select id="test" onchange="var x= document.getElementById('x'); x.focus(); x.blur();">
但是!无论如何,不要这样做。您将中断select的键盘可访问性(因为按up/down会立即发送更改事件)。这与导航时所面临的下拉列表问题相同。看起来您缺少了一些代码。blur()不起作用。抱歉,应该更清楚地指定。看起来您缺少一些代码。blur()无法工作。抱歉,应该更清楚地指定。非jQuery版本中有两个错误:1)不要在事件处理程序属性中使用
javascript:
前缀。该属性的值应该是纯JavaScript。2) 你应该调用select对象的blur()方法,而不是窗口(这实际上就是你正在做的),如果你在任何浏览器中都能使用的话,我会感到惊讶。事实上,我认为我在第二点上可能是错的:我认为select没有blur()方法。不过,试图使整个窗口失去焦点似乎有些奇怪。嗨,这与我们最终使用的最接近,即body.blur()或document.body.blur()。谢谢非jQuery版本中有两个错误:1)没有在事件处理程序属性中使用javascript:
前缀。该属性的值应该是纯JavaScript。2) 你应该调用select对象的blur()方法,而不是窗口(这实际上就是你正在做的),如果你在任何浏览器中都能使用的话,我会感到惊讶。事实上,我认为我在第二点上可能是错的:我认为select没有blur()方法。不过,试图使整个窗口失去焦点似乎有些奇怪。嗨,这与我们最终使用的最接近,即body.blur()或document.body.blur()。谢谢