I have functionality setup to execute whenever a select element changes its value. 它不使用正常的 onchange 事件,而是每 300 毫秒执行一次,并且仅在检测到更改的值时才调用处理程序。我正在使用原型Form.Element.Observer
,如果这对您意味着什么。
现在,在 Firefox 中,当用户将鼠标悬停在 上option
并触发定时值检查功能时,将调用处理程序,因为浏览器说值已更改。我想做的是能够检测到用户何时实际选择了该选项,而不是简单地将鼠标悬停在上面。我在原型文档中意识到,他们明确指出了这个错误(或功能,取决于你如何看待它),但我希望能够规范化行为。
在某种程度上,这有点类似于我之前在 StackOverflow 上看到的一个问题(检测 HTML 选择元素是否已展开(无需手动跟踪状态))但我希望那里的人能够告诉我该怎么做这仅适用于特定的选择元素,并且当它关闭而不是展开时。
为了更好地理解我的意思,请查看http://jsfiddle.net/KxQd6/,弄乱选择元素并查看控制台日志。