首頁  >  文章  >  web前端  >  jQuery事件中mouseover與mouseenter的差別

jQuery事件中mouseover與mouseenter的差別

黄舟
黄舟原創
2017-06-28 14:03:161360瀏覽

在我們的頁面中經常會用到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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn