1

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

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

很奇怪 - IE8 中没有显示警报。我也没有在左下角看到错误图标。当然,它适用于 FF 和 Opera。有任何想法吗?

4

3 回答 3

17

onclick处理程序放在<option>元素上似乎......对我来说很奇怪。您可能希望将其切换到更常见onchange的事件<select>。你仍然可以从那里做任何你想做的事情,这是对选择做任何你想做的事情的“公认”方式。话虽如此,您可能想尝试删除javascript:它的一部分。例如,仅当您在链接中执行 Javascript 时才需要这样做hrefonclick处理程序需要javascript

于 2009-05-10T18:46:12.163 回答
4

您是否尝试过:

onclick="alert('test');"

很确定您不需要 javascript: 前缀。

于 2009-05-10T18:46:40.647 回答
4

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

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

再说一遍,Opera、Safari 和 Chrome 都对选项上的事件处理程序提供了有限的支持或不支持。

缺少选项事件:错误 280

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

应该注意的是,“Edge”(想想 Windows 10 上的 IE12)目前显示此问题已在预览版本中得到修复。

于 2009-05-10T20:50:39.760 回答