Html 从下拉列表中选择后出现奇怪的IE11表单字段错误

Html 从下拉列表中选择后出现奇怪的IE11表单字段错误,html,forms,internet-explorer,internet-explorer-11,Html,Forms,Internet Explorer,Internet Explorer 11,我在IE11(Windows7上的最新版本11.0.9600.16521)中遇到了一个主要错误。在任何窗体上打开“选择”下拉列表时,页面上的所有其他窗体字段都会冻结。我可以通过调整窗口大小来“解冻”它们(导致重新绘制)。这似乎发生在任何形式上 复制: 打开IE 11.0.9600.16521 去 从“语言”下拉列表中选择任何语言 结果: 语言下拉列表在屏幕上似乎没有更新 搜索框显示为冻结状态,即聚焦于选择框并开始键入,但不显示文本。但是,如果调整窗口大小,表单字段将更新并恢复正常工作(直到与另一

我在IE11(Windows7上的最新版本11.0.9600.16521)中遇到了一个主要错误。在任何窗体上打开“选择”下拉列表时,页面上的所有其他窗体字段都会冻结。我可以通过调整窗口大小来“解冻”它们(导致重新绘制)。这似乎发生在任何形式上

复制: 打开IE 11.0.9600.16521 去 从“语言”下拉列表中选择任何语言

结果: 语言下拉列表在屏幕上似乎没有更新 搜索框显示为冻结状态,即聚焦于选择框并开始键入,但不显示文本。但是,如果调整窗口大小,表单字段将更新并恢复正常工作(直到与另一个选择元素交互)


我在谷歌上找不到太多关于这个问题的信息,所以可能这只是我的设置所特有的。唯一听起来有点像我正在经历的事情是:。还有其他人能够重现这一点吗?

我在IE11中遇到了类似的问题,结果是对SELECT选项元素的.text属性进行了任何修改。我最终在这里找到了stackoverflow的“提示”

在我的例子中,我使用的是纯JavaScript,由于有太多相互依赖的选择框,我不得不想出一个通用的解决方案,所以我的解决方案是截取(defineGetter)对HtmlOption元素的任何.text属性的赋值,并设置一个1毫秒计时器,以执行添加元素和删除元素,如标题为“我有修复程序。我们必须添加和删除选项列表以触发IE8中的渲染”的引用文章中所述。请注意,对于IE8的引用,AFAIK IE在选择框方面存在多个问题,至少从IE7开始,可能更早

因此,我在其中一个全局脚本中添加的代码如下所示:

try { var IE11;  // IE10 and IE11 removed ActiveXObject from the window object but it can still be instantiated
    IE11 = new ActiveXObject('MSXML2.DOMDocument.6.0');
    IE11 = null;
    if (typeof(HTMLOptionElement) != "undefined") {
        try { HTMLOptionElement.prototype.__defineSetter__(
                                          'text',
                                          function(original) {
                                              return function(newValue) { var sel;
                                                                       original.call(this, newValue);
                                                                       if (!(sel=this.parentElement).fixIE) sel.fixIE = window.setTimeout(_fixIE_(sel), 1);
                                                                   }
                                                               }(HTMLOptionElement.prototype.__lookupSetter__('text')));
            } catch(e) {};
        }
    } catch(e) {}
}

//  IE11 broke SELECT boxes again, modifying any options .text attribute "freezes" the SELECT so it appears disabled
function _fixIE_(selBox) {
    return _fixIE_;
    function _fixIE_(){ var lc = selBox.options.length;
        selBox.options.add(new Option('',''));
        selBox.options.remove(lc);
        selBox.fixIE = undefined;
    }
}
菲尔

  • 转到
    程序
  • 然后是
    widdcom
    文件夹
  • 右键单击
    bttray
  • 转到兼容性
  • 勾选
    以管理员身份运行
  • 重新启动

  • 我在Dell Windows 7上的IE 11中也遇到了同样的问题


    正如您在链接中所建议的那样,通过关闭IE中的硬件渲染解决了这一问题。

    对我来说并非如此。禁用所有加载项。未安装加载项!伙计,这是一个非常棒的发现。我犯了各种疯狂的错误,这似乎是罪魁祸首。现在接受IE告诉我不能使用索引数据库?!改变事件:D.该死的微软。。。