html – onclick on选项标记不能在IE和chrome上工作

前端之家收集整理的这篇文章主要介绍了html – onclick on选项标记不能在IE和chrome上工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在选项框中的选项标签中使用onclick事件
<select>
    <option onclick="check()">one</option>
    <option onclick="check()">two</option>
    <option onclick="check()">three</option>
</select>`

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

Eg:say first time user selects “one” dropdown I will open a popup after processing some stuff user closes the popup,suppose if user wants to select same “one” dropdown it will not trigger any event.this can be solved using onclick event on option tag but its not working on IE and chrome

有没有办法解决这个问题?

解决方法

大多数版本的IE,Safari和Chrome: reference上的选项标签上的onclick事件都将失败

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

<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()。

编辑:正如@ user422543在评论中指出的那样,这个解决方案在Firefox中将不起作用。因此,我在这里提出另一个问题:Why does Firefox react differently from Webkit and IE to “click” event on “select” tag?

到目前为止,似乎使用< select>标签在所有浏览器中都不会一直工作。但是,如果我们使用诸如jQuery UI select menuChosen之类的库来模拟选择菜单来创建选择菜单,而不是使用< select>标记,点击事件将在< ul>或< li>标签在我测试的所有浏览器中是一致的。

原文链接:https://www.f2er.com/html/233217.html

猜你在找的HTML相关文章