jquery는 마우스가 나갈 때(mouseout) 트랜잭션을 처리하지만 영향을 주지 않고 하위 요소에서 마우스를 제외하는 방법
<div class="a"><div class="a1" style="display:none;"></div></div> jquery中有mouseout离开时 $(".a").hover(function(){ $(this).find(".a1").css("display","block"); }); $(".a").mouseout(function(){ $(this).find(".a1").css("display","none"); });
위에서 마우스가 하위 요소에 있을 때 이는 현재 DIV를 떠나는 것과 같습니다. 이것을 어떻게 피할 수 있습니까?
이 효과를 얻으려면 jQuery 이벤트 - mouseleave() 메서드를 사용할 수 있습니다.
정의 및 사용법
마우스 포인터가 요소를 벗어나면 mouseleave 이벤트가 발생합니다.
이 이벤트는 mouseenter 이벤트와 함께 가장 자주 사용됩니다.
mouseleave() 메서드는 mouseleave 이벤트를 트리거하거나 mouseleave 이벤트가 발생할 때 실행할 함수를 지정합니다.
참고: mouseout 이벤트와 달리 mouseleave 이벤트는 마우스 포인터가 선택한 요소를 떠날 때만 트리거됩니다. 마우스 포인터가 하위 요소를 벗어나면 mouseout 이벤트도 트리거됩니다. 데모를 보려면 아래 예를 참조하세요.
Grammar
$(selector).mouseleave()
Example
<html> <head> <script type="text/javascript" src="/jquery/jquery.js"></script> <script type="text/javascript"> x=0; y=0; $(document).ready(function(){ $("div.out").mouseout(function(){ $(".out span").text(x+=1); }); $("div.leave").mouseleave(function(){ $(".leave span").text(y+=1); }); }); </script> </head> <body> <p>不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。</p> <p>只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。</p> <div class="out" style="background-color:lightgray;padding:20px;width:40%;float:left"> <h2 style="background-color:white;">被触发的 Mouseout 事件:<span></span></h2> </div> <div class="leave" style="background-color:lightgray;padding:20px;width:40%;float:right"> <h2 style="background-color:white;">被触发的 Mouseleave 事件:<span></span></h2> </div> </body> </html>
위층에 기능이 하나밖에 없을 때 꼭 이렇게 해야 하나요? 코드를 다음
$(".a").hover( function(){ $(this).find(".a1").css("display","block"); }, function(){ $(this).find(".a1").css("display","none"); } );
또는
$(".a").mouseover(function(){ $(this).find(".a1").css("display","block"); }); $(".a").mouseleave(function(){ $(this).find(".a1").css("display","none"); });
위 내용은 jquery 마우스가 mouseout을 벗어나면 트랜잭션이 처리됩니다. 마우스가 하위 요소에 있을 때 영향을 받지 않도록 제외하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!