jQuery中的事件

? ? JavaScript和HTML 之間的交互是通過用戶和瀏覽器操作頁面時引發的事件來處理的。當文檔或者它的某些元素發生某些變化或操作時,瀏覽器會自動生成一個事件。例如當瀏覽器裝載完一個文檔后,會生成事件;當用戶單擊某個按鈕時,也會生成事件。雖然利用傳統的JavaScript事件能完成這些交互,但jQuery增加并擴展了基本的事件處理機制。jQuery不僅提供了更加優雅的事件處理語法,而且極大地增強了事件處理能力。

1.$(document).ready()

$(document).ready()方法和window.onload方法有相似的功能,但是在執行時機是有區別的。window.onload方法是在網頁中所有的元素(包括元素的所有關聯文件)完全加載到瀏覽器后才執行。而通過jQuery中的$(document).ready()方法是在網頁中所有DOM結構繪制完畢后就執行,可能DOM元素關聯的東西并沒有加載完。

使用方法:

(1)$(document).ready(function(){? ?//代碼? ? })

(2)$(function(){? ?//代碼})

(3)$().ready(function(){? ?//代碼})

2.事件綁定bind()

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

使用方法:

bind(type [,data],fn);? ?簡寫? ?$('#...").type(function(){? ?//代碼});

第一個參數是事件類型;

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

第三個參數則是用來綁定的處理函數。

3.合成事件? ?hover()和toggle()

(1)hover()方法

hover(enter,leave);

hover()方法用于模擬光標懸停事件。當光標移動到元素上時,會觸發指定的第一個函數(enter);當光標移出這個元素時,會觸發指定的第二個函數(leave).

注:hover()方法準確來說是替代jQuery中的bind("mouseenter")和bind("mouseleave"),而不是替代bind("mouseover")和bind("mouseout")

(2)toggle()

toggle(fn1,fn2,fn3,...fnN);

toggle()方法用于模擬鼠標連續單擊事件。第一次單擊元素,觸發指定的第一個函數(fn1);當在此單擊同一元素時,則觸發指定的第二個函數(fn2);如果有更多函數,則依次觸發,直到最后一個。隨后的每次單擊都重復對這幾個函數的輪番調用。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容