我onclick在select框的选项标签中使用事件
onclick
select
<select> <option onclick="check()">one</option> <option onclick="check()">two</option> <option onclick="check()">three</option> </select>`
onclick事件在IE和Chrome上不起作用,但在Firefox中工作正常,在这里我不想onchange在选择标签bcz上使用事件,如果用户再次选择相同的选项,则不会触发事件
onchange
例如:假设第一次用户选择“一个”下拉菜单,我将在处理了一些用户关闭的弹出窗口后打开一个弹出窗口,假设如果用户希望选择相同的“一个”下拉菜单,则不会触发任何事件。可以使用onclick事件解决在选项标签上,但不适用于IE和chrome
有什么解决办法吗?
onclick``option大多数版本的IE,Safari和Chrome浏览器上的标签事件均会失败:
onclick``option
如果要在用户选择时触发事件,为什么不简单使用:
<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()只有在选择了一个选项后才能打电话。
check()
到目前为止,似乎<select>无法在所有浏览器中始终使用标记。但是,如果我们使用诸如jQuery UI select menu或Chosen之类的库来模拟选择菜单来创建选择菜单而不使用<select>标签,click则会触发事件<ul>或<li>在我测试的所有浏览器中标签都一致的标签。
<select>
click
<ul>
<li>