小编典典

选项标签上的onclick不适用于IE和chrome

html

onclickselect框的选项标签中使用事件

<select>
    <option onclick="check()">one</option>
    <option onclick="check()">two</option>
    <option onclick="check()">three</option>
</select>`

onclick事件在IE和Chrome上不起作用,但在Firefox中工作正常,在这里我不想onchange在选择标签bcz上使用事件,如果用户再次选择相同的选项,则不会触发事件

例如:假设第一次用户选择“一个”下拉菜单,我将在处理了一些用户关闭的弹出窗口后打开一个弹出窗口,假设如果用户希望选择相同的“一个”下拉菜单,则不会触发任何事件。可以使用onclick事件解决在选项标签上,但不适用于IE和chrome

有什么解决办法吗?


阅读 799

收藏
2020-05-10

共1个答案

小编典典

onclick``option大多数版本的IE,Safari和Chrome浏览器上的标签事件均会失败:

如果要在用户选择时触发事件,为什么不简单使用:

<select onclick="check()">
<option>one</option>
<option>two</option>
<option>three</option>

如果您想对用户选择的特定选项进行操作:

<select onclick="if (typeof(this.selectedIndex) != 'undefined') check(this.selectedIndex)">
<option>one</option>
<option>two</option>
<option>three</option>

这样,可以保证您check()只有在选择了一个选项后才能打电话。

到目前为止,似乎<select>无法在所有浏览器中始终使用标记。但是,如果我们使用诸如jQuery UI select
menu或Chosen之类的库来模拟选择菜单来创建选择菜单而不使用<select>标签,click则会触发事件<ul><li>在我测试的所有浏览器中标签都一致的标签。

2020-05-10