jQuery的事件系統是它最基本、也是最重要的一部分。事件系統讓開發者可以將一個事件鏈接到DOM對象的變動、用戶的動作等各種事件上。
jQuery中的事件處理是通過on()方法進行的。on()方法可以附加一個或者多個事件處理程序到一個被選元素上。因此,on()方法是jQuery事件綁定的主要方式。 它可以讓你添加一個事件處理程序,并告訴IE、Firefox和Opera需要做什么,并在適當的時候以適當的順序來執行它們。on()方法需要兩個參數 – 要鏈接的事件的類型和在事件發生時執行的函數。
$(document).ready(function(){ $("p").on("click",function(){ $(this).hide(); }); });
上面的例子中,$("p")選取了所有的p元素,并通過on("click", function(){})方法附加了一個click事件。當單擊一個段落時,它將隱藏。
除了on()方法,jQuery還有其他一些方法可以使用。例如,bind(), delegate() 和live()。這些方法基本上執行與on()相同的功能,只是寫法不同。
bind()方法用于向一個或多個元素附加一個或多個事件處理程序。并且,它支持使用多個事件類型:
$("#btn1").bind("click mouseover", function(){ alert("Hello world!"); });
上述代碼會附加兩個事件處理程序:一個是單擊(click)事件,第二個是鼠標滑入(mouseover)事件。當元素被單擊或鼠標滑入到元素上時,瀏覽器將首先觸發click事件,然后觸發mouseover事件。
無論是哪種事件綁定方式,當觸發該事件時,可以在處理函數中訪問被選元素及其屬性細節,并且可以編寫自己適合的響應方式。