hover包含了滑鼠移到物件上,同時滑鼠再移出物件的過程,對應的子類別也被選取。
mouseover是滑鼠經過物件時,不包含他的子類別同時被選取。
主要差異在於 hover元素的子類別上也有新增了事件驅動。而mouseover 只對目前元素新增事件驅動。
且 hover 事件包含mouseover 事件
mousemove(fn);
在每一個符合元素的mousemove事件中綁定一個處理函數。
hover(over, out);
一個模仿懸停事件(滑鼠移動到一個物件上面及移出這個物件)的方法。這是一個自訂的方法,它為頻繁使用的任務提供了一種「保持在其中」的狀態。
當滑鼠移到一個符合的元素上面時,會觸發指定的第一個函數。當滑鼠移出這個元素時,會觸發指定的第二個函數。而且,會伴隨著滑鼠是否仍處在特定元素中的偵測(對子類別的偵測),如果是,則會繼續保持「懸停」狀態,而不觸發移出事件(mouseout)。
$("td").hover( function () {
$(this).addClass("hover");
}, function () {
$(this).removeClass("hover");
});
在jquery原始碼中有這麼一段:
hover: function( fnOver, fnOut ) {
return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
}
也就是說hover! = mouseover+mouseout。但hover=mouseenter + mouseleave。
從前只知道像 hover、link、visited 和 active 這樣的偽類別只能應用到 a 標籤,也就是要寫成 a:hover、a:link、a:visited、a:active。其實這四個玩意是可以應用在其他的 html 標籤、指定給其他定義的 class 上。
有關於CSS 偽類可參考:http://www.w3school.com.cn/css/css_pseudo_classes.asp
a:link {color: #FF0000} /* 未訪問的連結*/
a:visited {color: #00FF00} /* 已造訪的連結*/
a:hover {color: #FF00FF} /* 滑鼠移到連結上* /
a:active {color: #0000FF} /* 選取的連結*/
以上是CSS中的onmouseover和hover有什麼差別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!