JS事件mouseover ,mouseout ,mouseenter,mouseleave的區(qū)別

好久沒有更新文章了哀蘑,年底事情比較多(別找借口了,其實(shí)就是懶...)葵第,跟大伙說(shuō)聲抱歉哈~(不用道歉绘迁,也沒什么人看的)。馬上就要大年三十了卒密,大家都陸陸續(xù)續(xù)肥家過(guò)年了缀台,然鵝,我還在公司苦逼地留守陣地哮奇,真是嗶了狗了……

言歸正傳膛腐,還是繼續(xù)咱們的學(xué)術(shù)研究吧~


在原生JS中鼠標(biāo)移入移出事件有四個(gè),分別為mouseover ,mouseout ,mouseenter,mouseleave鼎俘,其中mouseovermouseenter為移入事件哲身,mouseoutmouseleave為移出事件,那么問(wèn)題來(lái)了贸伐,這每組事件之間究竟有什么區(qū)別呢勘天?

可能很多人現(xiàn)在都還不知道它們之間的區(qū)別,甚至以為它們其實(shí)功能是一樣一樣的,真是too young too simple脯丝!

一商膊、mouseover和mouseenter

mouseover: 只要鼠標(biāo)指針移入事件所綁定的元素或其子元素,都會(huì)觸發(fā)該事件
mouseenter: 只有鼠標(biāo)指針移入事件所綁定的元素時(shí)宠进,才會(huì)觸發(fā)該事件

換句話說(shuō)就是晕拆,如果一個(gè)元素沒有子元素,那么該元素綁定mouseover或者mouseenter兩種事件效果沒有區(qū)別材蹬,鼠標(biāo)每次移入元素時(shí)都只會(huì)觸發(fā)一次事件实幕;如果綁定了mouseover事件的元素存在子元素,那么赚导,每次移入該元素時(shí)都會(huì)觸發(fā)一次事件(包括從外部移入和從子元素移入)茬缩,移入子元素時(shí)也會(huì)觸發(fā)一次事件。

舉個(gè)簡(jiǎn)單例子~

<div class="box over" onmouseover="over()">
  <span>over</span>
</div>

<div class="box enter" onmouseenter="enter()">
  <span>enter</span>
</div>
// mouseover事件
function over() {
  console.log('觸發(fā)了mouseover事件吼旧!');
}

// mouseenter事件
function enter() {
  console.log('觸發(fā)了mouseenter事件凰锡!');
}

測(cè)試效果如下圖所示:


mouseover和mouseenter對(duì)比

二、mouseout和mouseleave

這兩者對(duì)比原理與mouseovermouseenter是一致的圈暗,如果上面理解了掂为,那么這個(gè)也就理解了。

mouseout: 只要鼠標(biāo)指針移出事件所綁定的元素或其子元素员串,都會(huì)觸發(fā)該事件
mouseleave: 只有鼠標(biāo)指針移出事件所綁定的元素時(shí)勇哗,才會(huì)觸發(fā)該事件

換句話說(shuō)就是,如果一個(gè)元素沒有子元素寸齐,那么該元素綁定mouseout或者mouseleave兩種事件效果沒有區(qū)別欲诺,鼠標(biāo)每次移出元素時(shí)都只會(huì)觸發(fā)一次事件;如果綁定了mouseout事件的元素存在子元素渺鹦,那么扰法,每次移出該元素時(shí)都會(huì)觸發(fā)一次事件(包括移出至外部移出至子元素),從子元素移出時(shí)也會(huì)觸發(fā)一次事件毅厚。

舉個(gè)簡(jiǎn)單例子~

<div class="box out" onmouseout="out()">
  <span>out</span>
</div>

<div class="box leave" onmouseleave="leave()">
  <span>leave</span>
</div>
// mouseout事件
function out() {
  console.log('觸發(fā)了mouseout事件塞颁!');
}

// mouseleave事件
function leave() {
  console.log('觸發(fā)了mouseleave事件!');
}

測(cè)試效果如下圖所示:


mouseout和mouseleave對(duì)比

通過(guò)以上圖文詳解吸耿,相信你已經(jīng)能清楚這些事件之間的區(qū)別了吧祠锣!如果你看完還是有疑問(wèn)的話,請(qǐng)戳→此處←親身體驗(yàn)吧~


重點(diǎn)總結(jié)

① 只要鼠標(biāo)指針移入(或移出)事件所綁定的元素或其子元素咽安,都會(huì)觸發(fā)mouseover(或mouseout)事件
② 只有鼠標(biāo)指針移入(或移出)事件所綁定的元素時(shí)伴网,才會(huì)觸發(fā)mouseenter(或mouseleave)事件

最后,祝大家新春愉快板乙!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末是偷,一起剝皮案震驚了整個(gè)濱河市拳氢,隨后出現(xiàn)的幾起案子募逞,更是在濱河造成了極大的恐慌蛋铆,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件放接,死亡現(xiàn)場(chǎng)離奇詭異刺啦,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)纠脾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門玛瘸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人苟蹈,你說(shuō)我怎么就攤上這事糊渊。” “怎么了慧脱?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵渺绒,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我菱鸥,道長(zhǎng)宗兼,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任氮采,我火速辦了婚禮殷绍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鹊漠。我一直安慰自己主到,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布躯概。 她就那樣靜靜地躺著登钥,像睡著了一般。 火紅的嫁衣襯著肌膚如雪楞陷。 梳的紋絲不亂的頭發(fā)上怔鳖,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音固蛾,去河邊找鬼结执。 笑死,一個(gè)胖子當(dāng)著我的面吹牛艾凯,可吹牛的內(nèi)容都是我干的献幔。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼趾诗,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蜡感!你這毒婦竟也來(lái)了蹬蚁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤郑兴,失蹤者是張志新(化名)和其女友劉穎犀斋,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體情连,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡叽粹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了却舀。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片虫几。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖挽拔,靈堂內(nèi)的尸體忽然破棺而出辆脸,到底是詐尸還是另有隱情,我是刑警寧澤螃诅,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布啡氢,位于F島的核電站,受9級(jí)特大地震影響州刽,放射性物質(zhì)發(fā)生泄漏空执。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一穗椅、第九天 我趴在偏房一處隱蔽的房頂上張望辨绊。 院中可真熱鬧,春花似錦匹表、人聲如沸门坷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)默蚌。三九已至,卻和暖如春苇羡,著一層夾襖步出監(jiān)牢的瞬間绸吸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工设江, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留锦茁,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓叉存,卻偏偏與公主長(zhǎng)得像码俩,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子歼捏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • ??JavaScript 與 HTML 之間的交互是通過(guò)事件實(shí)現(xiàn)的。 ??事件瓣履,就是文檔或?yàn)g覽器窗口中發(fā)生的一些特...
    霜天曉閱讀 3,495評(píng)論 1 11
  • 總結(jié): 鼠標(biāo)事件 1.click與dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r閱讀 1,607評(píng)論 2 10
  • 本篇博客源地址 總結(jié): 鼠標(biāo)事件 1.click與dbclick事件ele.click()ele.click(ha...
    ZombieBrandg閱讀 675評(píng)論 0 1
  • (續(xù)jQuery基礎(chǔ)(1)) 第5章 DOM節(jié)點(diǎn)的復(fù)制與替換 (1)DOM拷貝clone() 克隆節(jié)點(diǎn)是DOM的常...
    凜0_0閱讀 1,342評(píng)論 0 8
  • 第1章 鼠標(biāo)事件 1-1 jQuery鼠標(biāo)事件之click與dbclick事件 用交互操作中率翅,最簡(jiǎn)單直接的操作就是...
    mo默22閱讀 1,282評(píng)論 0 6