ホームページ > ウェブフロントエンド > jsチュートリアル > jQueryイベントにmouseoutとmouseoverに子要素がある場合

jQueryイベントにmouseoutとmouseoverに子要素がある場合

黄舟
リリース: 2017-06-28 14:15:28
オリジナル
1572 人が閲覧しました

マウスアウトイベントとマウスオーバーイベントは誰もがよく知っていますが、子要素がある場合、そのイベントにマウスアウト子要素とマウスオーバー子要素も表示されることをまだ知らない人もいます。トリガーは 1 つです。例を見てみましょう:

<html><head>  
  
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />  
  
<title>mouseout子元素的触发</title>  
  
<script type="text/javascript" src="jquery.min.js"></script>  

<style>
  #list{width:100px;padding:10px;border:1px solid #ccc;background:#FFF;}

  #list ul{margin:0;padding:0;background:#333;}

  #list ul li{list-style:none;margin-bottom:5px;}

  #list ul li a:hover{background:#666;color:#FFF;}

  </style>

</head>  
  
<body>  
  
<a href="#" id="showList">鼠标请过来</a>  
  
<div id="list" style="display:none;">  
  
    <ul>  
  
        <li><a href="#">选项一</a></li>  
  
        <li><a href="#">选项二</a></li>  
  
        <li><a href="#">选项三</a></li>  
  
        <li><a href="#">选项四</a></li>  
  
        <li><a href="#">选项五</a></li>  
  
    </ul>  
  
</div>  
  
</body>  
  
<script type="text/javascript">  
  
    $("#showList").bind("mouseover",function(){  
  
        $("#list").toggle(&#39;fast&#39;);  
  
    }); 
  
      
  
    $("#list").bind("mouseout",function(){  
  
        $(this).slideUp(&#39;fast&#39;);  
  
    });
  
</script>  
  
</html>
ログイン後にコピー

この例の本来の目的は、リスト ボックスを開いてオプションを選択することです。マウスが離れるとリスト ボックスは閉じますが、実際には、マウスがその上に移動している限りリスト ボックスは閉じられます。その理由は、リストがマウスアウト イベントにバインドされているためです。リストには多くのサブ要素があるため、ul と li のマウス パス イベントがトリガーされることが合意されています。つまり、マウスが ul の外に移動したときに発生します。また、mouseout イベントもトリガーされます。

多くの解決策があります。この記事では、jquery に対応する 2 つのイベント、mouseenter と Mouseleave を使用します。

Mouseout イベント名を MouseLeave に変更するだけで完了です。へへ、簡単! jQueryが考えられました。 ^_^,

Mouseleave: Mouseout イベントとは異なり、mouseleave イベントは、マウス ポインターが選択された要素から離れた場合にのみトリガーされます。マウス ポインターが子要素から離れると、mouseout イベントもトリガーされます。例

MouseEnter: Mouseover イベントとは異なり、mouseenter イベントは、マウス ポインターが選択された要素を通過したときにのみトリガーされます。マウス ポインターが子要素を通過すると、mouseover イベントもトリガーされます。

以上がjQueryイベントにmouseoutとmouseoverに子要素がある場合の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート