繁体   English   中英

是否可以触发然后将事件扩展到另一个元素?

[英]Is it possible to trigger and then extend an event to another element?

假设我的下拉菜单结构较差,类似于:

<div class="regular"><a href="#">title</a></div>
<div class="menu">
    <a href="#">title</a>
    <div class="menu_wrapper">
        <a href="#">sub title</a>
        <a href="#">sub title</a>
    </div>
</div>

在这种情况下,它是使用.menu_wrapper ,该属性具有position:absolute;属性position:absolute; 导致出现以下情况:当悬停顶层.menu.menu_wrapper不被视为同一元素的一部分,因此,当尝试将其悬停在其上方时,将导致中断,因为它不再属于同一悬停事件。

我想知道是否可以在.menu上使用事件绑定程序,但是一旦触发该事件,则将绑定.menu_wrapper显式扩展到.menu_wrapper ,以使“悬停效果”稳定且有效。

与尝试重新安排我拥有的结构不良的CSS相比,这似乎是一个更简单的解决方案。

一般而言,任何想法,意见和帮助都将不胜感激;)。

你尝试过这样的事情吗? (jQuery的)

$(".menu").hover(
  function () {
    $(".menu_wrapper").show();
  },
  function () {
    $(".menu_wrapper").hide();
  }
);

我设法通过同时使用mouseover / mouseout事件解决了此问题。

这绝对不是解决此问题的最有效方法,但这是一个不错的解决方法:

   $('div.menu').mouseover(function() {
       $(this).find('div.menu_wrapper').show();
   });

   $('div.menu_wrapper').mouseout(function() {
       $(this).hide();'
   });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM