JQuery中DOM事件綁定用法詳解
本文實(shí)例講述了JQuery中DOM事件綁定用法。分享給大家供大家參考。具體分析如下:
在文檔加載完成后,如果打算為元素綁定事件來完成某些操作,則可以使用bind()方法來對(duì)匹配元素進(jìn)行特定事件的綁定,bind()方法的調(diào)用格式為:
bind( type [, data] , fn);
bind()方法有3個(gè)參數(shù),說明如下。
第1個(gè)參數(shù)是事件類型,類型包括:blur、focus、load、resize、scroll、unload、click、dblclick、mousedown、mouseup、mousemove、mouseover、mouseout、mouseenter、mouseleave、change、select、submit、keydown、keypress、keyup和error等,當(dāng)然也可以是自定義名稱。
第2個(gè)參數(shù)為可選參數(shù),作為event.data屬性值傳遞給事件對(duì)象的額外數(shù)據(jù)對(duì)象。
第3個(gè)參數(shù)則是用米綁定的處理函數(shù)。
可以發(fā)現(xiàn),jQuery中的事件綁定類型比普通的JavaScript事件綁定類型少了“on”。例如鼠標(biāo)單擊事件在jQuer中對(duì)應(yīng)的是click事件,而在JavaScript中對(duì)應(yīng)的是onclick()函數(shù)。
按照需求,需要完成以下幾個(gè)步驟。
1. 等待DOM加載完畢。
2. 找到“標(biāo)題”所在的元素,綁定click事件。
3. 找到“內(nèi)容”元素,將“內(nèi)容”元素顯示。
$(function(){ $("#panel h5.head").bind("click",function(){ var $content = $(this).next(); if($content.is(":visible")){ $content.hide(); }else{ $content.show(); } }) })
與ready()方法一樣,bind()方法也可以多次調(diào)用。
上面jQuery代碼中有一個(gè)關(guān)鍵字this,與在JavaScript中的作用一樣,this引用的是攜帶相應(yīng)行為的DOM元素。為了使該DOM元素能夠使用jQuery中的方法,可以使用$(this)將其轉(zhuǎn)換為jQuery對(duì)象。
為了判斷元素是否顯示,可以使用jQuery中的is()方法來完成。在代碼中,發(fā)現(xiàn)$(this).next("div.content")被多次使用,因此可以為它定義一個(gè)局部變量:$content。
上面的例子中,給元素綁定的事件類型是click,當(dāng)用戶單擊的時(shí)候會(huì)觸發(fā)綁定的事件,然后執(zhí)行事件的函數(shù)代碼。現(xiàn)在把事件類型換成mouseover和mouseout,即當(dāng)光標(biāo)滑過的時(shí)候,就觸發(fā)事件。需要進(jìn)行以下幾步操作。
1. 等待DOM加載完畢。
2. 找到“標(biāo)題”所在的元素,綁定mouseover事件。
3. 找到“內(nèi)容”元素,顯示“內(nèi)容”。
4. 找到“標(biāo)題”所在的元素,綁定mouseout事件。
5. 找到“內(nèi)容”元素,隱藏“內(nèi)容”。
代碼運(yùn)行后,當(dāng)光標(biāo)滑過“標(biāo)題”鏈接后,相應(yīng)的“內(nèi)容”將被顯示。當(dāng)光標(biāo)滑出“標(biāo)題”鏈接后,相應(yīng)的“內(nèi)容”則被隱藏。
代碼如下:
$(function(){ $("#panel h5.head").bind("mouseover",function(){ $(this).next().show(); }); $("#panel h5.head").bind("mouseout",function(){ $(this).next().hide(); }) })
在上面幾個(gè)例子中,分別用bind()方法給“標(biāo)題”綁定了click事件、mouseover事件和mouseout事件,綁定方法都一樣。除此之外,bind0方法還能綁定其他所有的JavaScript事件。
像click、mouseover和mouseout這類事件,在程序中經(jīng)常會(huì)使用到,jQuery為此也提供了一套簡(jiǎn)寫的方法。簡(jiǎn)寫方法和bind()方法的使用類似,實(shí)現(xiàn)的效果也相同,惟一的區(qū)別是能夠減少代碼量。
例如把上面的例子改寫成使用簡(jiǎn)寫綁定事件的方式,代碼如下:
$(function(){ $("#panel2 h5.head").mouseover(function(){ $(this).next().show(); }); $("#panel2 h5.head").mouseout(function(){ $(this).next().hide(); }) })
希望本文所述對(duì)大家的jQuery程序設(shè)計(jì)有所幫助。
- jQuery?事件綁定及取消?bind?live?delegate?on?one區(qū)別解析
- jquery事件綁定方法介紹
- jQuery事件綁定和解綁、事件冒泡與阻止事件冒泡及彈出應(yīng)用示例
- jQuery實(shí)現(xiàn)的事件綁定功能基本示例
- jQuery的三種bind/One/Live/On事件綁定使用方法
- jQuery 全選 全不選 事件綁定的實(shí)現(xiàn)代碼
- jQuery事件綁定方法學(xué)習(xí)總結(jié)(推薦)
- jquery移除了live()、die(),新版事件綁定on()、off()的方法
- 關(guān)于Jquery中的事件綁定總結(jié)
- jquery事件綁定解綁機(jī)制源碼解析
- jQuery事件綁定用法詳解
- 深入理解jQuery事件綁定
- jQuery事件綁定on()與彈窗實(shí)現(xiàn)代碼
- jQuery事件綁定用法詳解(附bind和live的區(qū)別)
- jQuery實(shí)現(xiàn)按鈕只點(diǎn)擊一次后就取消點(diǎn)擊事件綁定的方法
- jQuery事件綁定on()、bind()與delegate() 方法詳解
- jQuery事件綁定與解除綁定實(shí)現(xiàn)方法
- jquery中click等事件綁定及移除的幾種方法小結(jié)
相關(guān)文章
jQuery樹形插件jquery.simpleTree.js用法分析
這篇文章主要介紹了jQuery樹形插件jquery.simpleTree.js用法,結(jié)合實(shí)例形式分析了jQuery樹形菜單插件jquery.simpleTree.js的功能與基本用法,需要的朋友可以參考下2016-09-09jQuery正則驗(yàn)證注冊(cè)頁面經(jīng)典實(shí)例
這篇文章主要介紹了jQuery正則驗(yàn)證注冊(cè)頁面功能,涉及針對(duì)用戶名、密碼、郵箱、手機(jī)號(hào)等的正則驗(yàn)證操作技巧,需要的朋友可以參考下2017-06-06一次$.getJSON不執(zhí)行的簡(jiǎn)單記錄
下面小編就為大家?guī)硪黄淮?.getJSON不執(zhí)行的簡(jiǎn)單記錄。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-07-07jQuery插件echarts實(shí)現(xiàn)的多柱子柱狀圖效果示例【附demo源碼下載】
這篇文章主要介紹了jQuery插件echarts實(shí)現(xiàn)的多柱子柱狀圖效果,結(jié)合完整實(shí)例形式分析了echarts繪制多柱子柱狀圖效果的操作步驟與相關(guān)實(shí)現(xiàn)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03細(xì)說瀏覽器特性檢測(cè)(1)-jQuery1.4添加部分
瀏覽器特性檢測(cè)即通過探測(cè)對(duì)象是否擁有某個(gè)屬性或者函數(shù),或者通過其他的編碼探測(cè)方式,來決定其是否支持某一功能、特性。2010-11-11運(yùn)用jQuery定時(shí)器的原理實(shí)現(xiàn)banner圖片切換
banner圖片切換效果,在一些企業(yè)網(wǎng)站上經(jīng)常會(huì)碰到,本文運(yùn)用jQuery定時(shí)器的原理實(shí)現(xiàn)banner圖片切換,感興趣的朋友可以學(xué)習(xí)下2014-10-10JavaScript的jQuery庫(kù)插件的簡(jiǎn)要開發(fā)指南
這篇文章主要介紹了JavaScript的jQuery庫(kù)插件的簡(jiǎn)要開發(fā)指南,分為基于選擇器的插件和不基于選擇器的插件兩種情況,需要的朋友可以參考下2015-08-08