Javascript 一种判断选项是否不适合选择IE的方法

Javascript 一种判断选项是否不适合选择IE的方法,javascript,jquery,html,internet-explorer,internet-explorer-6,Javascript,Jquery,Html,Internet Explorer,Internet Explorer 6,在IE6中,或者在IE7中,如果您将某个选项的宽度设置为除“自动”之外的任何值,那么如果该选项中的选项比该选项的宽度更宽,那么它们将被截断。这很糟糕。Firefox足够聪明,不会这么做 问题: 如何判断javascript是否切断了这些选项 除了将“宽度”设置为“自动”之外,您是如何处理此问题的?请看Chris Coyier的文章。好问题。这里有点咆哮,但是IE对控件的实现非常糟糕。它有以下问题(除其他问题外,我确信): (正如您所注意到的)在上设置宽度会切断元素,而不考虑溢出说明 不管位置和

在IE6中,或者在IE7中,如果您将某个选项的宽度设置为除“自动”之外的任何值,那么如果该选项中的选项比该选项的宽度更宽,那么它们将被截断。这很糟糕。Firefox足够聪明,不会这么做

问题: 如何判断javascript是否切断了这些选项


除了将“宽度”设置为“自动”之外,您是如何处理此问题的?

请看Chris Coyier的文章。

好问题。这里有点咆哮,但是IE对
控件的实现非常糟糕。它有以下问题(除其他问题外,我确信):

  • (正如您所注意到的)在
    上设置宽度会切断
    元素,而不考虑
    溢出
    说明
  • 不管位置和分层(
    z-index
    )指令如何,它们都有这样的指令。对于早期“对话”小部件的开发人员来说,这是一个巨大的PITA;对话框后面的任何下拉列表都会通过对话框本身的顶部溢出
  • 不反映所选
    上设置的css样式
  • 如果您没有在每个
    上设置
    属性,
    mySelectBox.value
    将自动失败
  • 使用键盘箭头在
    元素列表中导航时,每次击键都会触发
    更改
    事件(Opera也有此问题)
  • s和
    s上的css样式通常被完全忽略()
  • 以编程方式更改选项列表会隐藏下拉列表(这对于希望下拉列表保持可见的“提前键入”实现尝试来说很糟糕)
  • IE7试图在屏幕上显示所有选项。对于大型列表,这意味着当显示时,下拉内容将位于下拉列表的上方(这本身并没有错,但与其他IE版本不一致)
对于您的问题,一种解决方案是在显示选项时将
宽度
切换为
“自动”
,并在关闭选项时将if设置回设置的宽度,如下所述:


这样做的一个明显的缺点是,由于相邻的元素都在移动,导致文档的流程变得混乱。

如果你认为这是一个很好的问题,你可以给它打分+1谢谢你给了我所有其他额外的信息,我不知道其中的一些事情,现在我知道了=)。至于css技巧的解决方案,是的,它很糟糕,因为它改变了一切看起来实在太难看,我无法使用它的东西。我处理过类似的问题@