JQuery中DOM事件合成用法實(shí)例分析
本文實(shí)例講述了JQuery中DOM事件合成用法。分享給大家供大家參考。具體分析如下:
jQuery有兩個(gè)合成事件——hover()方法和toggle()方法,類似前面講過(guò)的ready()方法,hover()方法和toggle()方法都屬于jQuery自定義的方法。
hover()方法
hover()方法的語(yǔ)法結(jié)構(gòu)為:
hover(enter,leave);
hover()方法用于模擬光標(biāo)懸停事件。當(dāng)光標(biāo)移動(dòng)到元素上時(shí),會(huì)觸發(fā)指定的第1個(gè)函數(shù)(enter);當(dāng)光標(biāo)移出這個(gè)元素時(shí),會(huì)觸發(fā)指定的第2個(gè)函數(shù)(leave)。
代碼為:
$(function(){
$("#panel h5.head").hover(function(){
$(this).next().show();
},function(){
$(this).next().hide();
})
})
代碼運(yùn)行后的效果與下面代碼運(yùn)行后的效果是一樣的。當(dāng)光標(biāo)滑過(guò)“標(biāo)題”鏈接時(shí),相應(yīng)的“內(nèi)容”將被顯示;當(dāng)光標(biāo)滑出“標(biāo)題”鏈接后,相應(yīng)的“內(nèi)容”則被隱藏。
$(function(){
$("#panel h5.head").mouseover(function(){
$(this).next("div.content").show();
});
$("#panel h5.head").mouseover(function(){
$(this).next("div.content").hide();
})
});
注意:
1. CSS中有偽類選擇符,例如“:hover",當(dāng)用戶光標(biāo)懸停在元素上時(shí),會(huì)改變?cè)氐耐庥^。在大多數(shù)符合規(guī)范的瀏覽器中,偽類選擇符可以用于任何元素。然而在IE 6瀏覽器中,偽類選擇符僅可用于超鏈接元素。對(duì)于其他元素,可以使用jQuery的hover()方法。
2. hover()方法準(zhǔn)確來(lái)說(shuō)是替代jQuery中的bind("mouseenter")和bind("mouseleave"),而不是替代bind("mouseover")和bind("mouseout")。因此當(dāng)需要觸發(fā)hover()方法的第2個(gè)函數(shù)時(shí),需要用trigger("mouseleave")來(lái)觸發(fā),而不是trigger("mouseout")。
toggle()方法
toggle()方法的語(yǔ)法結(jié)構(gòu)為:
toggle(fnl, fn2, ...fnN);
toggle()方法用于模擬鼠標(biāo)連續(xù)單擊事件。第1次單擊元素,觸發(fā)指定的第1個(gè)函數(shù)(fn1);當(dāng)再次單擊同一元素時(shí),則觸發(fā)指定的第2個(gè)函數(shù)(fh2);如果有更多函數(shù),則依次觸發(fā),直到最后一個(gè)。隨后的每次單擊都重復(fù)對(duì)這幾個(gè)函數(shù)的輪番調(diào)用。
在前面的加強(qiáng)效果的例子中,使用了以下jQuery代碼:
$(function(){
$("#panel h5.head").toggle(function(){
$(this).next().show();
},function(){
$(this).next().hide();
})
})
通過(guò)使用toggle()方法不僅實(shí)現(xiàn)了同樣的效果,同時(shí)也簡(jiǎn)化了代碼。
toggle()方法在jQuery中還有另外一個(gè)作用:切換元素的可見(jiàn)狀態(tài)。如果元素是可見(jiàn)的,單擊切換后則為隱藏;如果元素是隱藏的,單擊切換后則為可見(jiàn)的。因此上面的代碼還可以寫成如下jQuery代碼:
$(function(){
$("#panel h5.head").toggle(function(){
$(this).next().toggle();
},function(){
$(this).next().toggle();
})
})
為了能有更好的用戶體驗(yàn),現(xiàn)在需要在用戶單擊“標(biāo)題”鏈接后,不僅顯示“內(nèi)容”,而且高亮顯示“標(biāo)題”。代碼為:
$(function(){
$("#panel h5.head").toggle(function(){
$(this).addClass("highlight");
$(this).next().show();
},function(){
$(this).removeClass("highlight");
$(this).next().hide();
});
})
運(yùn)行代碼后,如果“內(nèi)容”是顯示的,“標(biāo)題”則會(huì)高亮顯示:如果“內(nèi)容”是隱藏的,則不會(huì)高亮顯示“新聞標(biāo)題”。
希望本文所述對(duì)大家的jQuery程序設(shè)計(jì)有所幫助。
- 深入理解JS DOM事件機(jī)制
- 理解javascript中DOM事件
- 談?wù)勎覍?duì)JavaScript DOM事件的理解
- DOM事件階段以及事件捕獲與事件冒泡先后執(zhí)行順序(圖文詳解)
- JQuery中DOM事件冒泡實(shí)例分析
- JQuery中DOM事件綁定用法詳解
- JavaScript DOM事件(筆記)
- Google Map V3 綁定氣泡窗口(infowindow)Dom事件實(shí)現(xiàn)代碼
- JavaScript call apply使用 JavaScript對(duì)象的方法綁定到DOM事件后this指向問(wèn)題
- 關(guān)于javascript DOM事件模型的兩件事
- DOM 事件的深入淺出(二)
相關(guān)文章
jQuery實(shí)現(xiàn)在最后一個(gè)元素之前插入新元素的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)在最后一個(gè)元素之前插入新元素的方法,涉及jquery針對(duì)頁(yè)面元素的匹配選擇與屬性操作相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
jQuery獲取css z-index在各種瀏覽器中的返回值
jQuery 取 css z-index 值在各種瀏覽器中的返回值的代碼,需要的朋友可以參考下。2010-09-09
jQuery圖片特效插件Revealing實(shí)現(xiàn)拉伸放大
本文給大家分享的是jQuery圖片展示效果,使用的是jQuery Revealing插件,不點(diǎn)擊的情況下,圖片整齊排列成一行,當(dāng)任意一個(gè)圖片縮略圖被點(diǎn)擊的時(shí)候,該圖片就放大顯示,當(dāng)點(diǎn)擊關(guān)閉按鈕時(shí)圖片又重新還原了縮略圖模式。2015-04-04
jQuery仿Excel表格編輯功能的實(shí)現(xiàn)代碼
Handsontable 是一個(gè)相當(dāng)給力的 jQuery 插件,它實(shí)現(xiàn)了 HTML 頁(yè)面中的表格編輯功能,并且是仿 Excel 的編輯效果。2013-05-05
JQuery 獲取多個(gè)select標(biāo)簽option的text內(nèi)容(實(shí)例)
下面小編就為大家?guī)?lái)一篇JQuery 獲取多個(gè)select標(biāo)簽option的text內(nèi)容(實(shí)例)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09
jquery插件開(kāi)發(fā)模式實(shí)例詳解
這篇文章主要介紹了jquery插件開(kāi)發(fā)模式,結(jié)合實(shí)例形式詳細(xì)分析了jQuery插件三種開(kāi)發(fā)方式實(shí)現(xiàn)方法與相關(guān)操作技巧,需要的朋友可以參考下2019-07-07
Jquery使用原生AJAX方法請(qǐng)求數(shù)據(jù)
本文詳細(xì)講解了Jquery使用AJAX方法請(qǐng)求數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02

