- Tham gia
- 28/02/2015
- Bài viết
- 17,151
- Được Like
- 12,746
Tìm hiểu về các phương thức sự kiện trong jQuery
DOM cho chúng ta một số event để tương tác với người dùng trên DOM, nay chúng ta có nhiều lựa chọn hơn khi dùng jQuery, khá nhiều phương thức được viết trong jQuery để thực hiện cho một vài sự kiện người dùng trên DOM hoặc một số sự kiện tự định nghĩa, qua nhiều phiên bản tiến lên có một số phương thức trong jQuery đã được thay thế nhưng vẫn giữ lại hoặc đã bỏ đi, một vài liệt kê sau sẽ sơ lược lại những gì jQuery đã viết để có cách nhìn rõ ràng và tổng quát hơn về các phương thức sự kiện cũng như có mối liên hệ tới các sự kiện trong DOM.
bind()/on()/delegate()/one()
unbind()/off()/undelegate()
unbind() và undelegate() đều gọi off(), mục đích thì cũng tương tự như removeEvenListener() của DOM (từ IE8 về trước thì là detachEvent)
live(), die()
đã được remove từ phiên bản 1.9
blur()/focusout(), focus()/focusin()
blur() được giới thiệu trước và sau đó jQuery đã giới thiệu thêm focusout() đây là 2 phương thức ngắn gọn của on(), hai phương thức này tương tự nhau vì thực tế là blur() gọi focusout(), mục đích giống như phương thức onblur() và onfocusout() của DOM. Sự khác nhau của 2 phương thức này ở chỗ focusout() sẽ có thể ảnh hưởng lên các phần tử con của nó còn blur() phải là chính nó. Trong jQuery thì focusout() có thể làm việc được trên cả firefox còn onfocusout() của DOM hiện tại thì không (ví dụ http://jsfiddle.net/tuG33/1/). Cách hiểu về focus() và focusin() cũng tương tự.
load(), unload(), resize(), scroll(), submit(), change(), select(), click(), dblclick(), keydown(), keyup(), keypress()
Một phương thức ngắn gọn của on(), mục đích giống như onload(), onunload(), onresize(), onscroll(), onsubmit(), onchange(), onselect(), onclick(), ondblclick(), onkeydown(), onkeyup(), onkeypress() của DOM. Cần phải nói thêm về sự khác nhau giữa keydown/keyup với keypress là keydown/keyup thực hiện gán hành động cho sự kiện với các phím(key) trên bàn phím lúc này chúng ta có keycode còn keypress cũng gán hành động cho sự kiện với các phím nhưng lúc này là charcode nghĩa là ký tự được nhập vào nên nó sẽ không làm việc với các phím không nhập ký tự như shift, alt hay ctrl..., ví dụ phím "a" có keycode là 65 còn charcode là 97
hover() / mouseenter(), mouseleave() / mouseover(), mouseout()
error()
Dùng để thực hiện một hành động nào đó khi hình ảnh hoặc một phần tử nào đó tải không đúng, hiện phương thức này đã được phản đối từ phiên bản 1.8, phương thức này cũng gần tương tự như onerror() của DOM.
Chúc các bạn thành công.
DOM cho chúng ta một số event để tương tác với người dùng trên DOM, nay chúng ta có nhiều lựa chọn hơn khi dùng jQuery, khá nhiều phương thức được viết trong jQuery để thực hiện cho một vài sự kiện người dùng trên DOM hoặc một số sự kiện tự định nghĩa, qua nhiều phiên bản tiến lên có một số phương thức trong jQuery đã được thay thế nhưng vẫn giữ lại hoặc đã bỏ đi, một vài liệt kê sau sẽ sơ lược lại những gì jQuery đã viết để có cách nhìn rõ ràng và tổng quát hơn về các phương thức sự kiện cũng như có mối liên hệ tới các sự kiện trong DOM.
bind()/on()/delegate()/one()
- bind( eventType [, eventData ], handler )
- on( events [, selector ] [, data ], handler )
- delegate( selector, eventType, eventData, handler )
- one( events [, selector ] [, data ], handler )
unbind()/off()/undelegate()
unbind() và undelegate() đều gọi off(), mục đích thì cũng tương tự như removeEvenListener() của DOM (từ IE8 về trước thì là detachEvent)
live(), die()
đã được remove từ phiên bản 1.9
blur()/focusout(), focus()/focusin()
blur() được giới thiệu trước và sau đó jQuery đã giới thiệu thêm focusout() đây là 2 phương thức ngắn gọn của on(), hai phương thức này tương tự nhau vì thực tế là blur() gọi focusout(), mục đích giống như phương thức onblur() và onfocusout() của DOM. Sự khác nhau của 2 phương thức này ở chỗ focusout() sẽ có thể ảnh hưởng lên các phần tử con của nó còn blur() phải là chính nó. Trong jQuery thì focusout() có thể làm việc được trên cả firefox còn onfocusout() của DOM hiện tại thì không (ví dụ http://jsfiddle.net/tuG33/1/). Cách hiểu về focus() và focusin() cũng tương tự.
load(), unload(), resize(), scroll(), submit(), change(), select(), click(), dblclick(), keydown(), keyup(), keypress()
Một phương thức ngắn gọn của on(), mục đích giống như onload(), onunload(), onresize(), onscroll(), onsubmit(), onchange(), onselect(), onclick(), ondblclick(), onkeydown(), onkeyup(), onkeypress() của DOM. Cần phải nói thêm về sự khác nhau giữa keydown/keyup với keypress là keydown/keyup thực hiện gán hành động cho sự kiện với các phím(key) trên bàn phím lúc này chúng ta có keycode còn keypress cũng gán hành động cho sự kiện với các phím nhưng lúc này là charcode nghĩa là ký tự được nhập vào nên nó sẽ không làm việc với các phím không nhập ký tự như shift, alt hay ctrl..., ví dụ phím "a" có keycode là 65 còn charcode là 97
hover() / mouseenter(), mouseleave() / mouseover(), mouseout()
- hover( handlerIn, handlerOut )
error()
Dùng để thực hiện một hành động nào đó khi hình ảnh hoặc một phần tử nào đó tải không đúng, hiện phương thức này đã được phản đối từ phiên bản 1.8, phương thức này cũng gần tương tự như onerror() của DOM.
Chúc các bạn thành công.
Nguồn: sothichweb.com
Bài viết liên quan
Bài viết mới