我试图找到一种方法来在用户选择HTML select
框中的选项时运行JavaScript函数,无论此选项是否已被选中。所以onchange
是不可能的。
使用onblur
的问题在于(至少在Chrome和Safari中),在用户点击其他元素之前不会触发该事件。如果用户专注于选择,然后点击而不选择选项,这也可能会令人讨厌,在这种情况下我不希望触发事件。
通过为每个选项提供onmouseup
处理程序,我获得了一些成功,但据我所知,这仅适用于Firefox。有什么想法吗?
答案 0 :(得分:3)
由于没有人愿意回答这个问题,我会发布我的代码的通用版本:
<select id="mySelect" onfocus="this.selectedIndex=0;" onchange="userDidSomething(event)">
<option>Choose one:</option>
<option>Option 1</option>
<option>Option 2</option>
</select>
JavaScript:
function userDidSomething(event) {
// Your Code Here.
}
答案 1 :(得分:1)
尝试使用
var s = document.getElementById("mySelect");
s.attachEvent("onchange", function() {
// function here
});