Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Internet Explorer 6中更改后模糊选择_Javascript_Html_Internet Explorer 6 - Fatal编程技术网

Javascript 在Internet Explorer 6中更改后模糊选择

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> <

这个问题真的很简单。这适用于除IE6以外的所有情况:

<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()。谢谢