jQuery常用事件

g3mc 9年前發布 | 18K 次閱讀 jQuery Ajax框架

Jquery事件

(一)、事件列表。

1.blur()      當失去焦點時觸發。包括鼠標點擊離開和TAB鍵離開。

2.change()     當元素獲取焦點后,值改變失去焦點事觸發。

3.click()      當鼠標單擊時觸發。

4.dblclick()     當鼠標雙擊時觸發。

5.error()      當javascript出錯或img的src屬性無效時觸發。

6.focus()       當元素獲取焦點時觸發。注意:某些對象不支持。

7.focusin()      當元素或其子元素獲取焦點時觸發,與focus()區別在于能夠檢測其內部子元素獲取焦點的情況。

8.focusout()    當元素或者其子元素失去焦點時觸發,與focusout()區別在于能夠檢測內部子元素失去焦點的情況。

9.keydown()     當鍵盤按下時觸發。

10.keyup()    當按鍵松開時觸發。

11.mousedown()    當鼠標在元素上點擊后觸發。

12.mouseenter()    當鼠標在元素上穿過時觸發。mouseenter與mouseover的區別是,鼠標從mouseover的子元素上穿過時也會觸發而mouseenter不會。

13.mouseleave()    當鼠標從元素上移出時觸發。

14.mousemove()     當鼠標在元素上移動時觸發。.clientX 和 .clientY分別代表鼠標的X坐標與Y坐標。

15.mouseout()       當鼠標從元素上移開時觸發。

16.mouseover()     當鼠標移入元素時觸發。

17.mouseup()        當鼠標左鍵按下釋放時觸發。

18.resize()         當瀏覽器窗口大小改變時觸發。 $(window).resize();

19.scroll()        當滾動條發生變化時觸發。

20.select()         當input里的內容被選中時觸發。

21.submit()       提交選中的表單。

22.unload()       當頁面卸載時觸發。

(二)、事件常用方法

1、綁定事件

語法:bind(type,[data],fn)  type參數可以是頂部的22個方法(注意:不能帶括號); 參數data是屬性值傳遞給事件對象的額外數據,fn是處理函數。可以bind多個事件,也可以為同一事件綁定多個函數。

$("#div1").bind("change",function(){ alert("你好!"); })

$("#div1").bind("click mouseout",function(){ alert("你好!"); })

2、切換事件

 語法:hover(fn1,fn2);    鼠標移入執行第一個函數,鼠標移出執行第二個函數。相當于mouseenter與mouseleave。

$("#div1").hover(function(){alert("鼠標移入我啦");},function(){alert("鼠標移出我啦!");})

3、順序執行事件

 語法:toggle(fn1,fn2,fn3...)   當鼠標單擊時,依次執行綁定的事件

$("#div1").toggle(function(){alert(1);},function(){alert(2);},function(){alert(3);})

4、unbind 移除事件

語法:unbind([type],[fn])     移除元素已經綁定的事件,type:指定要移除的事件,fn指定要移除的方法。當沒有參數時,所有的事件都移除。注意,用live()方法綁定的方法移出不了,live()綁定的方法要用它自己的die()來移出。

$(":button").unbind();     移除按鈕的所有事件。

$(":button").unbind("click");     移除按鈕的單擊事件。

$(":button").unbind("click",fn1);     移除按鈕的單擊事件中的fn1函數,如果該事件綁定了多個函數,對其他函數沒影響。

 5、one 僅執行一次的事件

語法:one(type,[data],fn)    綁定一個僅執行一次的事件

$("#div1").one("click",function(){ alert("我只執行一次!"); })

6、trigger DOM加載完畢后自動執行的事件

語法:trigger(type,[data])    DOM元素加載完成后自動執行

$("#div1").bind("bclick",function(){ alert("你好"); });

$("#div1").trigger("bclick");    //注意,trigger一定要放在綁定的事件之后,否則不執行。

7、live() DOM根節點綁定事件

語法:live(type,[fn])     String,Function

live(type,[data],false)    String,Array,bool

live()在根節點綁定事件,通過事件冒泡到DOM根節點($(ducoment)),再對比觸發事件的元素來判斷事件是否應該執行。效率不高,因此不能完全替代bind()但是有個好處,就是后期加載出來的元素同樣能夠綁定。但是有個缺點,就是live()方法僅僅能使用CSS選擇器選擇被綁定元素。

如$('a').live('click'function() {alert("你好!");})  JQuery把alert函數綁定到$(document)元素上,并使用’click’和’a’作為參數。任何時候只要有事件冒泡到document節點上,它就查看該事件是否是一個click事件,以及該事件的目標元素與’a’這一CSS選擇器是否匹配,如果都是的話,則執行函數。

live(type,data,fn)

$("#div1").live("click",function(){ alert("你好"); })  //即使頁面一開始不存在id="div1"的元素,是后期AJAX或js加載上去的,但是依然有效。

$("#div1").live("click mouseout",function(){ alert("你好"); })  //可以live()多個事件。

8、die() 解除live()方法綁定的事件  //綁定與解除是對應的,die()解除不了bind()和delegate綁定的方法。 可以為一個元素live多個事件,也可以為同一事件live多個函數。

語法die(type,[fn])  string Function其中Function為可選方法。

$("#div1").die();

$("#div1").die("click");

$("#div1").die("click",fn1);  //其中fn1為某函數名。如果是綁定的是一個匿名函數,第二個參數用于當為同一事件live了多個函數的時候,解除一個函數對其他函數沒影響。

9、delegate() 為指定的元素添加一個或多個事件,并綁定處理函數,一個事件也可以綁定多個函數。注意:此函數要1.4.2版添加。delegate()允許在父元素中將時間綁定當前頁面還未的元素,這點與Live()類似,但是即使是$(document).delegate()也比live()方法的效率要高,另外 delegate()還能將尚未出現的元素綁定到離它更近的父元素上。

語法:

delegate(selector,[type],fn)    String String Function  //selector必須為所選元素的子元素

delegate(selector,[type],[data],fn)  String String Object Function

delegate(selector,events)      String String

如:

$('#container').delegate('a', 'click', function() { alert("你好!") }); 
JQuery掃描文檔查找$(‘#container’),并使用click事件和’a’這一CSS選擇器作為參數把alert函數綁定到$(‘#container’)上。任何時候只要有事件冒泡到$(‘#container’)上,它就查看該事件是否是click事件,以及該事件的目標元素是否與CCS選擇器相匹配。如果兩種檢查的結果都為真的話,它就執行函數。

$("#div1").delegate("#button1","click",function(){ alert("你好啊!"); });  //注意:#button1必須為#div1的子元素

10、undelegate()  刪除有delegate()函數綁定的一個或多個事件處理函數

語法:

undelegate(selector,[type])    String String

undelegate(selector,[type],fn)    String String Function

undelegate(selector,events)    String String

undelegate(namespace)      String

11、ready()  當DOM元素加載完成后綁定處理事件

$(document).ready()

 本文由用戶 g3mc 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!