在我們的頁面中經常會用到mouseover與mouseout事件來為頁面添加更好的渲染效果,但如果觸發mouseover事件的元素有子元素的話,會造成閃爍的效果,看著很不舒服,這是因為mouseover與mouseout不論滑鼠指標穿過被選元素或其子元素,都會觸發。而mouseenter與mouseleave只有在滑鼠指標穿過被選元素時,才會觸發 mouseenter 事件。
<ul class="con-ul"> <li> <div class="con-one"> <div class="con-oneimg"> <img src="http://image123465.cn"> <div class="dask" style="display: block; opacity: 0;"></div> <div class="input" style="display: block; opacity: 0;"> <input type="button" class="inp inp-one" value="预览"> <input type="button" class="inp inp-two" value="使用"> </div> </div> <hr style="border-top:1px solid #b5b5b5;"> <p>study</p> </div> </li> </ul>
//1 $(".con-ul").on({ mouseenter: function() { $(this).find(".dask").stop(true,true).fadeIn(600); $(this).find(".input").stop(true,true).fadeIn(600); }, mouseleave: function() { $(this).find(".dask").stop(true,true).fadeOut(300); $(this).find(".input").stop(true,true).fadeOut(300); } }, ".con-oneimg"); //2 $(".con-ul").on({ mouseover: function() { $(this).find(".dask").stop(true,true).fadeIn(600); $(this).find(".input").stop(true,true).fadeIn(600); }, mouseout: function() { $(this).find(".dask").stop(true,true).fadeOut(300); $(this).find(".input").stop(true,true).fadeOut(300); } }, ".con-oneimg");
####
以上是jQuery事件中mouseover與mouseenter的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!