我有一个选择,每次选择一个选项时我都需要触发一些 js,即使它已经被选择了。 示例:
<select id="select_one">
<option value="">Choose One...</option
<option value="one">One</option>
<option value="two">Two</option>
</select>
如果有人选择“one”,我想触发 functionOne()。但是,虽然选择了“一个”,但如果用户再次选择“一个”,我想再次触发 functionOne()。所以,这意味着 onChange 不起作用,因为选择没有改变。
有人有什么想法吗?
最佳答案
与当前的一些答案相反,您实际上并没有得到 click
事件 <option>
在 IE 中。
检测已选择的选项被单击的唯一可靠方法是将 onclick
<select>
上的处理程序.当然,这也会检测到对选择元素的任何其他点击,所以取决于什么 functionOne()
这样做可能也不安全。
您最好使用看起来像 select 但实际上不是的东西,例如带有按钮的弹出式 div。你想做什么?如果您尝试做一个“跳转菜单”,选择一个选项导航到一个新页面:不要,这是一种陈旧且名誉扫地的机制,存在严重的可用性问题。
关于javascript - 多次选择相同的选项/onchange 不改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4092144/