javascript - 多次选择相同的选项/onchange 不改变

标签 javascript prototypejs

我有一个选择,每次选择一个选项时我都需要触发一些 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/

相关文章:

javascript - 有没有更合适的方法来使用 AJAX 处理错误?

javascript - 如何在 jquery 中编写正则表达式来查找具有有效域名的有效 url 格式

javascript - 如何将表单值获取到 react 中的状态对象中

javascript - 如何仅当鼠标悬停在元素上至少 1 秒时才触发 mouseover 事件?

Javascript 从字符串构建对象

javascript - 传递变量来替换函数正则表达式javascript

javascript - 用于 DOM 操作的原型(prototype)或 jQuery(客户端动态内容)

javascript - Class.create 和 this 关键字

瘦客户端和 pc 之间的 javascript 性能

prototypejs - Javascript Prototype 使用掩码按名称选择元素