首頁 >web前端 >前端問答 >怎麼移除css的hover事件

怎麼移除css的hover事件

藏色散人
藏色散人原創
2023-02-01 10:06:473137瀏覽

移除css hover事件的方法:1、;透過「$("a").hover(function(){ alert('mouseover'); }, function(){ alert('mouseout'); })」方法綁定hover事件;2、透過「$('a').off('mouseenter').unbind('mouseleave');」方法取消綁定的hover事件即可。

怎麼移除css的hover事件

本教學操作環境:Windows10系統、CSS3版、DELL G3電腦

怎麼移除css的hover事件?

jquery中取消和綁定hover事件的正確方式

在網頁設計中,我們經常使用jquery去響應滑鼠的hover事件,和mouseover和mouseout事件有相同的效果,但是這其中如何使用on去綁定hover方法呢?如何用off取消綁定的事件呢?

一、如何綁定hover事件

#先看以下程式碼,假設我們給a標籤綁定一個click和hover事件:

$(document).ready(function(){ $('a').on({ hover: function(e) {
 //Hover event handler
alert("hover"); },
click: function(e) { // Click event handler
alert("click"); } });
});

當點擊a標籤的時候,奇怪的事情發生了,其中綁定的hover事件完全沒有反應,綁定的click事件卻可以正常回應。

但是如果換一種寫法,比如:

$("a").hover(function(){ alert('mouseover'); }, function(){
alert('mouseout'); })

應該使用mouseenter 和mouseleave 這兩個事件來代替,(這也是.hover( ) 函數中使用的事件)

所以完全可以直接像這樣來引用:

$(document).ready(function(){ $('a').on({ mouseenter: function(e) {
//Hover event handler
alert("mouseover"); }, mouseleave: function(e) {
//Hover event handler
alert("mouseout"); }, click: function(e) {
// Clickevent handler
alert("click"); } });
});

因為.hover()是jQuery自己定義的事件,是為了方便使用者綁定呼叫mouseenter和mouseleave事件而已,它並非一個真正的事件,所以當然不能當做.on()中的事件參數來呼叫。

二、如何取消hover事件

大家都知道,可以使用off函數去取消綁定的事件,但是只能取消透過bind綁定的事件,jquery中的hover事件是比較特殊的,如果透過這種方式去綁定的事件,則無法取消。

$("a").hover(function(){ alert('mouseover'); }, function(){
alert('mouseout'); })

取消綁定的hover事件的正確方式:

$('a').off('mouseenter').unbind('mouseleave');

推薦學習:《css影片教學》《jQuery影片教學

以上是怎麼移除css的hover事件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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