代码之家  ›  专栏  ›  技术社区  ›  Petrunov

IE8简单警报失败?

  •  1
  • Petrunov  · 技术社区  · 15 年前

    为什么下面的代码在IE8中不起作用?

    <select>
        <option onclick="javascript: alert('test');">5</option>
    

    相当奇怪-IE8中没有显示警报。我在左角也看不到错误图标。当然,它在FF和Opera中有效。有什么想法吗?

    3 回复  |  直到 9 年前
        1
  •  17
  •   Paolo Bergantino    15 年前

    放一个 onclick 处理器上的 <option> 元素似乎…我很奇怪。你可能想把它换成更普通的 onchange 事件 <select> .你仍然可以从那里做你想做的任何事情,这是一种“被接受”的方式来做你想做的选择。尽管如此,您可能希望尝试删除 javascript: 它的一部分。只有在链接中执行javascript时才需要 href 例如。安 点击 处理程序 期待 JavaScript。

        2
  •  4
  •   i_am_jorf    13 年前

    您是否尝试过:

    onclick="alert('test');"
    

    很肯定您不需要javascript:prefix。

        3
  •  4
  •   scunliffe    9 年前

    IE(6、7、8)的所有版本都不支持 任何 选项元素上的事件处理程序。

    这是一个(相当)众所周知的漏洞,IE团队已经表示他们并不急于修复。:

    同样,Opera、Safari和Chrome也对选项上的事件处理程序提供有限或不支持。

    选项上缺少事件: bug 280

    (相关)选项缺少样式: bug 281

    应该注意的是,“边缘”(想想Windows10上的IE12)目前显示这个问题在预览版中得到了解决。