【问题标题】:JavaScript - HTML <select> onclick Event triggered when clicking the down button of the scrollbarJavaScript - 单击滚动条的向下按钮时触发 HTML <select> onclick 事件
【发布时间】:2013-12-09 18:45:32
【问题描述】:

我正在尝试使用 Select 对象的 onclick() 事件。应用程序正确地进入函数并在那里执行代码。但是,当单击滚动条的向下按钮时,它已经被执行,用户没有机会查看其他选项而不会意外触发事件。

var selectChange = function(){
    // do some stuff
}

document.getElementById("select").onclick = selectChange;  

<select id="select">
    <option value="1" selected>one</option>
    <option value="2">two</option>
    <option value="3">three</option>
    <option value="4">four</option>
</select>

我该如何解决这个问题?

【问题讨论】:

  • 你能准备一把小提琴吗?

标签: javascript html forms select


【解决方案1】:

我认为您应该在模糊事件而不是单击时调用 selectChange, 因为单击是在呈现选择下拉列表之前触发的。

document.getElementById("select").onblur = selectChange;

【讨论】:

  • onblur 事件对此并不理想。它仅在焦点离开所选元素时才有效...
【解决方案2】:
document.getElementById("select").onchange = selectChange; 

DEMO

【讨论】:

  • 这解决了最初的问题,但这意味着在不更改选择之前单击预选选项将无法触发事件...还有其他选项吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-01
  • 2021-12-21
  • 2023-01-06
  • 1970-01-01
  • 2012-07-22
  • 1970-01-01
  • 2015-10-18
相关资源
最近更新 更多