Bra*_*one 10 html javascript jquery internet-explorer
这很难解释,所以请耐心等待.今天我遇到了一个奇怪的场景,我解决了,但我不确定为什么我的解决方案有效.
我创建了一组选择并编写了一个脚本,通过从其他选择列表中删除所选选项,限制您不止一次选择相同的选项.
但是在IE(包括IE9)中,选项列表显示错误的选项,但一旦选中它将显示正确的选项.

在我的第一个脚本中,您可以通过执行以下操作来达到此状态:
注意:这只是IE.适用于Chrome
脚本: http ://jsfiddle.net/s6F4h/37/

现在通过随机猜测工作找到我的修复...
脚本: http ://jsfiddle.net/s6F4h/36/
像这样创建我的选择会导致奇怪的行为:
var $S1 = $('<select class="question" />');
Run Code Online (Sandbox Code Playgroud)
像这样创建我的选择可以纠正这种行为:
var $S1 = $('<select />', {'class': 'question'});
Run Code Online (Sandbox Code Playgroud)
最后,也许我刚刚做了一些令人难以置信的愚蠢事情,并且在我的歇斯底里中编造了一些荒谬的结论.如果我这样做的话,请轻轻地通知我.
两个 DOM 对象之间的区别不是数据的问题,而是创建它们时操作顺序的问题。
当您使用 inline of 时$('<select class="blah" />'),<select>将使用已完整的类创建元素,并设置相应的样式。当您使用 $( <select />, { 'class': 'blah' })` 时,您执行 2 个操作:1) 创建项目,2) 设置其类。
这看起来无害,但它实际上强制浏览器在应用 CSS 类时重新绘制元素。
现在 - 在你的场景中,事实上,这导致了它所造成的特定问题,这显然是一个适用于 IE 的错误 - 但 IE 显然不应该表现不佳这一事实决不会阻止它这样做。
希望这能带来一些启发。
| 归档时间: |
|
| 查看次数: |
1314 次 |
| 最近记录: |