【问题标题】:IE and select elementsIE 和选择元素
【发布时间】:2014-05-17 00:53:31
【问题描述】:

好吧,我被困住了,真的希望能得到一些帮助,因为我已经不知所措了。我创建了一个 jQuery 对话框,在该窗口中,我使用 Bootstrap 创建了一组选项卡。在第一个选项卡上,我有一个带有选择元素的小表单,这一切都与 BackboneJS 绑定在一起。

<div class="control-group times">
     <label class="control-label" for="inputStart">Time</label>
     <div class="controls">
          <select id="inputStart" name="start">
              {{ slots }}
          </select>
          <label class="control-label small" for="inputEnd">-</label>
          <div class="controls">
              <select id="inputEnd" name="end">
                  {{ slots }}
              </select>
          </div>
     </div>
</div>

在 Chrome 上,元素及其所有相关事件可以完美运行。

在 Firefox 上,我看到它打开了,并且在选择一个选项后,完全拒绝关闭它的选项列表。据我所知,这个问题已经在一夜之间消失了,没有对代码进行任何更改。

现在在 IE9 和 10 上,第一次使用后选择字段会失败。它允许您选择一个选项,但如果您再试一次,该选项将不会改变。我发现通过单击选择并返回它会起作用,但这并不理想。几乎就像选择必须失去焦点才能再次使用一样。

这些问题都仅限于鼠标使用。使用键盘效果很好。 我记录了这个问题,以防视频效果更好:Select Fail

有什么想法吗?提前致谢!

【问题讨论】:

    标签: jquery internet-explorer backbone.js jquery-ui-dialog twitter-bootstrap-2


    【解决方案1】:

    如果您使用的是 Bootstrap,请使用 Bootstrap。图书馆至少有 2-3 种方法来做你想做的事。最简单的方法是将form-control 类放在您的选择列表中,这样您就可以实现跨浏览器兼容性。

    <select class="form-control">
      <option>1</option>
      <option>2</option>
      <option>3</option>
      <option>4</option>
      <option>5</option>
    </select>
    

    在这里阅读更多: http://getbootstrap.com/css/#forms

    【讨论】:

    • 不幸的是,我使用的是 Bootstrap 2.3.2。抱歉,我绝对应该提到这一点。
    • 在 2.3.2 中更容易 - 他们将其烘焙到选择元素本身:getbootstrap.com/2.3.2/base-css.html#forms
    • 嗯.. 我已经在屏幕的每个部分使用引导样式。我没有使用实际的表单,因为我只是创建了一个主干模型并绑定到各种输入。我确实尝试添加一个表单,但它没有任何影响。不过绝对欣赏这些想法。
    • IE10 可能超出了您的 Bootstrap 版本的支持范围?升级可能是这里的一个选项。
    【解决方案2】:

    在进一步挖掘之后,我偶然发现了这个——jQueryUI Bug

    我升级了jQueryUI,到目前为止所有问题都消失了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-24
      • 1970-01-01
      • 2012-09-25
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多