微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

检测HTML选择元素是否已扩展没有手动跟踪状态

如何解决检测HTML选择元素是否已扩展没有手动跟踪状态

| 我想检测下拉列表是否已扩展。我不想为单击/鼠标悬停等使用额外的事件处理程序,因为下拉列表是动态的,并且由于其他原因,我不能使用类似jQuery live的东西。基本上,我希望可以赋予任意“ 0”元素(没有其他附加的事件处理程序,类等),可以给出是否扩展的正确/错误答案。 对于我的特定应用程序,我正在处理鼠标滚轮事件,但是不想在下拉列表打开时处理它们(这会覆盖浏览器的功能)。但是,当鼠标悬停在“ 0”上方但尚未打开时,我仍然想处理鼠标滚轮事件。     

解决方法

        出于类似原因,我之前对此进行了调查。除了尝试手动跟踪它外,我再也找不到解决方案了,这实际上是行不通的。有多种打开/关闭选择(下拉)的方法,例如Alt + Dn箭头。如果用户单击浏览器之外的内容,则打开的选择将关闭。试图跟踪选择状态是徒劳的。除非有人带来我在狩猎中错过的东西,否则您将必须尽可能优雅地围绕它进行编码。     ,        即使没有扩展,何时获得焦点又如何呢?您之所以特别要求扩展,是因为您不想覆盖默认的浏览器行为,但是浏览器的行为应该是在焦点突出时滚动浏览这些项目,即使它没有展开也是如此,所以我会说您\最好能发现焦点。 如果您对此表示满意,则可以通过使用JQuery的
focus()
blur()
方法或
focusin()
focusout()
轻松地检测出某个字段何时具有焦点以及何时失去焦点。 http://api.jquery.com/focus/和http://api.jquery.com/blur/ http://api.jquery.com/focusin/和http://api.jquery.com/focusout/ 希望能有所帮助。     ,        也许您可以执行以下操作:
$(\'#dropdown\').live(\'click\',function(){
    //bind mousewheel here
});

$(\'#dropdown\').live(\'change\',function(){
    //unbind mousewheel here
})
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。