When mouseout and mouseover have child elements in the jQuery event
Everyone is familiar with the mouseout and mouseover events, which are mouse out and mouse over events, but some people still don’t know that when there are child elements, the mouse will also be moved out and over the child elements. Triggered again. You can look at an example:
<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('fast'); }); $("#list").bind("mouseout",function(){ $(this).slideUp('fast'); }); </script> </html>
The original intention of this example is to open a list box and select an option. The list box is closed when the mouse moves away, but the fact is that the list box is closed as long as the mouse is moved over it. The reason is that the list is bound to a mouseout event. Because the list has many sub-elements, it is agreed that the mouse pass event of ul and li will be triggered. That is to say, when the mouse moves out of ul and li, the mouseout event will also be triggered. .
There are many ways to solve it. This article uses the two events corresponding to jquery, mouseenter and mouseleave.
As long as the mouseout event name is changed to mouseleave, you are done. Hehe, easy! jquery has been thought of. ^_^,
Mouseleave: Unlike the mouseout event, the mouseleave event will only be triggered when the mouse pointer leaves the selected element. If the mouse pointer leaves any child element, the mouseout event will also be triggered. Example
MouseEnter: Unlike the mouseover event, the mouseenter event will only be triggered when the mouse pointer passes through the selected element. If the mouse pointer passes through any child element, the mouseover event will also be triggered.
The above is the detailed content of When mouseout and mouseover have child elements in the jQuery event. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Detailed explanation of jQuery reference methods: Quick start guide

How to use PUT request method in jQuery?

How to remove the height attribute of an element with jQuery?

jQuery Tips: Quickly modify the text of all a tags on the page

Use jQuery to modify the text content of all a tags

In-depth analysis: jQuery's advantages and disadvantages

Understand the role and application scenarios of eq in jQuery

How to tell if a jQuery element has a specific attribute?
