【问题标题】:Onclick doesn't work in ChromeOnclick 在 Chrome 中不起作用
【发布时间】:2011-03-01 22:03:31
【问题描述】:
    <select class="input" style="width:200px">
        <option>---</option>
        <option onclick="window.location="link.php">one</option>
        <option onclick="window.location="link2.php"">two</option>
    </select>

它不能在 chrome 中工作,它在 Opera/mozilla 等中工作。有什么建议吗?

【问题讨论】:

  • 是的,不要使用onclick 属性。
  • 每当有人使用 --- 作为选项时,UI 设计师都会心脏病发作。请使用 optgroup。
  • @WTP optgroup 如何帮助我设置一个空的默认选项?

标签: html css google-chrome


【解决方案1】:
<select class="input" onchange="window.location.href = this.value" style="width:200px">
        <option>---</option>
        <option value="link.php">one</option>
        <option value="link2.php">two</option>
    </select>

我知道它不完全相同...但是在选择列表的选项上单击事件并不是一个好习惯。除了 onchange,您也可以使用 onclick……但在我看来,onchange 确实是这样做的方法。

【讨论】:

    【解决方案2】:

    可能最安全的方法是使用 select 元素的 onchange 事件,并使用它的值来确定要采取的操作。我也不认为 onclick 适用于 IE 中的选项。

    【讨论】:

      【解决方案3】:

      onclick 属性中的双引号不应该是单引号吗?

      【讨论】:

      • @Radek S:我能想到的一件事是解析器的宽大处理(阅读:smartassery)。
      • @BoltClock 我不敢相信 Gecko 比 WebKit 更聪明。哦,好吧,也许是这样。 :)
      • @Radek。你是对的,我输入了一个带有引号权限的快速示例,就像嘿所说的那样。在 FF 中工作,而不是在 chrome 中。感谢您指出这一点。 Zoidberg 的解决方案效果很好。
      【解决方案4】:

      onclick 不会像你试图让它工作的那样工作,你将不得不考虑浏览器处理select 对象的方式的差异。我建议您在 select 对象上使用 onchange 事件,然后测试所选选项。请注意,这些事件在不同浏览器上的触发方式不同。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-27
        • 2014-05-08
        相关资源
        最近更新 更多