国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JQuery中DOM事件綁定用法詳解

2024-05-06 16:22:24
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了JQuery中DOM事件綁定用法,實例分析了bind方法綁定事件的相關技巧,需要的朋友可以參考下

本文實例講述了JQuery中DOM事件綁定用法。分享給大家供大家參考。具體分析如下:

在文檔加載完成后,如果打算為元素綁定事件來完成某些操作,則可以使用bind()方法來對匹配元素進行特定事件的綁定,bind()方法的調用格式為:

bind( type [, data] , fn);

bind()方法有3個參數,說明如下。

第1個參數是事件類型,類型包括:blur、focus、load、resize、scroll、unload、click、dblclick、mousedown、mouseup、mousemove、mouseover、mouseout、mouseenter、mouseleave、change、select、submit、keydown、keypress、keyup和error等,當然也可以是自定義名稱。

第2個參數為可選參數,作為event.data屬性值傳遞給事件對象的額外數據對象。

第3個參數則是用米綁定的處理函數。

可以發現,jQuery中的事件綁定類型比普通的JavaScript事件綁定類型少了“on”。例如鼠標單擊事件在jQuer中對應的是click事件,而在JavaScript中對應的是onclick()函數。

按照需求,需要完成以下幾個步驟。

1. 等待DOM加載完畢。

2. 找到“標題”所在的元素,綁定click事件。

3. 找到“內容”元素,將“內容”元素顯示。

 

 
  1. $(function(){ 
  2. $("#panel h5.head").bind("click",function(){ 
  3. var $content = $(this).next(); 
  4. if($content.is(":visible")){ 
  5. $content.hide(); 
  6. }else
  7. $content.show(); 
  8. }) 
  9. }) 

與ready()方法一樣,bind()方法也可以多次調用。

上面jQuery代碼中有一個關鍵字this,與在JavaScript中的作用一樣,this引用的是攜帶相應行為的DOM元素。為了使該DOM元素能夠使用jQuery中的方法,可以使用$(this)將其轉換為jQuery對象。

為了判斷元素是否顯示,可以使用jQuery中的is()方法來完成。在代碼中,發現$(this).next("div.content")被多次使用,因此可以為它定義一個局部變量:$content。

上面的例子中,給元素綁定的事件類型是click,當用戶單擊的時候會觸發綁定的事件,然后執行事件的函數代碼。現在把事件類型換成mouseover和mouseout,即當光標滑過的時候,就觸發事件。需要進行以下幾步操作。

1. 等待DOM加載完畢。

2. 找到“標題”所在的元素,綁定mouseover事件。

3. 找到“內容”元素,顯示“內容”。

4. 找到“標題”所在的元素,綁定mouseout事件。

5. 找到“內容”元素,隱藏“內容”。

代碼運行后,當光標滑過“標題”鏈接后,相應的“內容”將被顯示。當光標滑出“標題”鏈接后,相應的“內容”則被隱藏。

代碼如下:

 

 
  1. $(function(){  
  2. $("#panel h5.head").bind("mouseover",function(){  
  3. $(this).next().show();  
  4. });  
  5. $("#panel h5.head").bind("mouseout",function(){  
  6. $(this).next().hide();  
  7. })  
  8. }) 

在上面幾個例子中,分別用bind()方法給“標題”綁定了click事件、mouseover事件和mouseout事件,綁定方法都一樣。除此之外,bind0方法還能綁定其他所有的JavaScript事件。

像click、mouseover和mouseout這類事件,在程序中經常會使用到,jQuery為此也提供了一套簡寫的方法。簡寫方法和bind()方法的使用類似,實現的效果也相同,惟一的區別是能夠減少代碼量。

例如把上面的例子改寫成使用簡寫綁定事件的方式,代碼如下:

 

 
  1. $(function(){ 
  2. $("#panel2 h5.head").mouseover(function(){ 
  3. $(this).next().show(); 
  4. }); 
  5. $("#panel2 h5.head").mouseout(function(){ 
  6. $(this).next().hide(); 
  7. }) 
  8. }) 

希望本文所述對大家的jQuery程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 武威市| 灵宝市| 安达市| 钟山县| 阳东县| 河池市| 瓮安县| 郁南县| 双牌县| 铅山县| 白城市| 公安县| 沁阳市| 泌阳县| 卓资县| 长泰县| 巴青县| 安阳市| 若尔盖县| 甘洛县| 宁乡县| 西华县| 宁河县| 浮山县| 雷波县| 武城县| 松潘县| 扬中市| 烟台市| 黑山县| 桂平市| 天峻县| 克拉玛依市| 房山区| 郁南县| 沙湾县| 万全县| 大埔县| 揭东县| 西华县| 井陉县|