您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“jquery如何取消hover事件”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“jquery如何取消hover事件”吧!
jquery取消hover事件的方法:1、給a標(biāo)簽綁定一個(gè)click和hover事件;2、使用“$('a').unbind('mouseenter').unbind('mouseleave');”方法取消綁定的hover事件即可。
本文操作環(huán)境:windows7系統(tǒng)、jquery3.2.1版、DELL G3電腦
jquery怎么取消hover事件?
jquery中取消和綁定hover事件的正確方式
在網(wǎng)頁設(shè)計(jì)中,我們經(jīng)常使用jquery去響應(yīng)鼠標(biāo)的hover事件,和mouseover和mouseout事件有相同的效果,但是這其中其中如何使用bind去綁定hover方法呢?如何用unbind取消綁定的事件呢?
一、如何綁定hover事件
先看以下代碼,假設(shè)我們給a標(biāo)簽綁定一個(gè)click和hover事件:
$(document).ready(function(){ $('a').bind({ hover: function(e) { // Hover event handler alert("hover"); }, click: function(e) { // Click event handler alert("click"); } }); });
當(dāng)點(diǎn)擊a標(biāo)簽的時(shí)候,奇怪的事情發(fā)生了,其中綁定的hover事件完全沒有反應(yīng),綁定的click事件卻可以正常響應(yīng)。
但是如果換一種寫法,比如:
$("a").hover(function(){ alert('mouseover'); }, function(){ alert('mouseout'); })
這段代碼就可以正常的運(yùn)行,難道bind不能綁定hover?
其實(shí)不是,應(yīng)該使用 mouseenter 和 mouseleave 這兩個(gè)事件來代替,(這也是 .hover() 函數(shù)中使用的事件)
所以完全可以直接像這樣來引用:
$(document).ready(function(){ $('a').bind({ mouseenter: function(e) { // Hover event handler alert("mouseover"); }, mouseleave: function(e) { // Hover event handler alert("mouseout"); }, click: function(e) { // Click event handler alert("click"); } }); });
因?yàn)?hover()是jQuery自己定義的事件,是為了方便用戶綁定調(diào)用mouseenter和mouseleave事件而已,它并非一個(gè)真正的事件,所以當(dāng)然不能當(dāng)做.bind()中的事件參數(shù)來調(diào)用。
二、如何取消hover事件
大家都知道,可以使用unbind函數(shù)去取消綁定的事件,但是只能取消通過bind綁定的事件,jquery中的hover事件是比較特殊的,如果通過這種方式去綁定的事件,則無法取消。
$("a").hover(function(){ alert('mouseover'); }, function(){ alert('mouseout'); })
取消綁定的hover事件的正確方式:
$('a').unbind('mouseenter').unbind('mouseleave');
到此,相信大家對“jquery如何取消hover事件”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。