【问题标题】:Customize Dropdown Menu, when to trigger hide menu event自定义下拉菜单,何时触发隐藏菜单事件
【发布时间】:2014-10-21 20:25:45
【问题描述】:

我创建了一个带有 ul 和 li 标签的下拉菜单,但我不确定隐藏下拉菜单的最佳时间是什么时候。

我使下拉菜单将根据用户键入时输入的内容显示值,并动态更新菜单。我在输入框的onBlur事件上有隐藏菜单事件,这样我可以看到下拉菜单,一旦我点击一个菜单项,就会触发模糊事件,菜单会被隐藏,值会被填充进入带有js代码的输入框。但是,如果菜单很长,并且上面有滚动条,当我点击滚动条时,也会触发模糊事件。我试图添加一些检查,如果目前我专注于滚动条,但这似乎不可能,当我点击滚动条时,焦点元素是 DOM 主体....任何人都可以想到一些东西,谢谢你这么多。

【问题讨论】:

    标签: javascript jquery html css drop-down-menu


    【解决方案1】:

    我的建议是在输入事件模糊时运行 0.0 -0.5 超时,只需确保保存超时 ID,以便您可以在 mouseenter 到菜单时将其清除,

    【讨论】:

    • 由于其他一些原因,我在模糊事件上确实有 0.5 秒的超时,请原谅我,我不太明白这一点“只要确保保存超时 id,这样你就可以在 mouseenter 到菜单中清除它" 能否请您提供更多详细信息,谢谢。
    • @TechNoob all SetTimeout return int timeoutID;如果您将其安全地保存到全局变量中,您可以调用 window.clearTimeout(timeoutID);它会阻止函数被调用。
    • 但是,我什么时候应该调用window.clearTimeout,当我点击滚动条时我找不到任何合适的事件......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 2015-10-11
    • 2021-07-01
    • 2018-08-18
    • 2014-03-31
    • 1970-01-01
    相关资源
    最近更新 更多