2010-05-27 36 views
70

Tôi có thể tìm danh sách đầy đủ tất cả các sự kiện được hỗ trợ jQuery (như click, mouseup v.v.) với một số giải thích khi chúng được kích hoạt? Tôi đang tìm kiếm những người có thể được binded:Tìm kiếm danh sách đầy đủ các loại sự kiện jQuery

$('#foo').bind('click', handler); 

Ví dụ tôi vừa phát hiện ra một cách tình cờ mà có paste sự kiện nhưng tôi không thể tìm thấy bất kỳ tài liệu tham khảo để nó bất cứ nơi nào trong tài liệu của họ. Còn gì nữa?

Trả lời

45

Danh sách không đầy đủ là http://api.jquery.com/category/events/. Có nhiều sự kiện DOM được hỗ trợ thông qua .bind().live(). Những chức năng có thể gán một handler cho bất kỳ sự kiện DOM tiêu chuẩn, hầu hết trong số đó được liệt kê cùng với các bảng tính tương thích tại http://www.quirksmode.org/dom/events/

Các .bind() phương pháp là phương tiện chính để gắn hành vi vào một tài liệu. Tất cả các loại sự kiện JavaScript, chẳng hạn như tiêu điểm, di chuyển chuột và đổi kích thước, đều được phép cho eventType.


Tính đến jQuery 1.7, bạn nên sử dụng .on() ở vị trí của .live().bind().

+0

Tất cả sự kiện liên kết là những gì tôi đang tìm kiếm (không phải chức năng phím tắt). Có lẽ tôi nên nhắc lại câu hỏi của mình. – serg

+0

@ serg555: Tôi đã thêm một liên kết quirksmode.org, hầu hết các sự kiện (nếu không, tất cả) được liệt kê ở đó cùng với các bảng tương thích cho mỗi trình duyệt. Lưu ý rằng Opera không hỗ trợ sự kiện 'paste'. –

+0

Cảm ơn, liên kết tuyệt vời. – serg

0

Trang này liệt kê tất cả các sự kiện hoạt động trong tất cả các trình duyệt với kiến ​​thức của tôi. Bạn sẽ không tìm thấy sự kiện "dán" ở đây, bởi vì, như những người khác đã chỉ ra nó, nó không hoạt động trong tất cả các trình duyệt.

http://www.authenticsociety.com/jquery/list-all-jquery-events.html

+0

Điều này là sai: '.mouseup()': Con trỏ chuột trên một phần tử bất kỳ lúc nào trong khi nút chuột lên – Zach

+1

Liên kết đã chết. – Julian

-1

Tôi biết câu hỏi này khá cũ. Nhưng vì lợi ích của việc đưa ra một câu trả lời cập nhật và đầy đủ cho câu hỏi này.

Các phương pháp tắt là luôn đặt cùng tên làm tên sự kiện được sử dụng trong bất kỳ phương thức on()/bind()/live() nào.

Vì vậy, nếu bạn muốn sử dụng bất kỳ tính năng sự kiện tắt nhưng với trên()/bind()/sống() bạn chỉ có thể lấy tên phương pháp, ommit khung và đặt nó trong dấu ngoặc kép như vậy: " eventname "/ 'eventname'. Họ nên cư xử như vậy.

Vì vậy, ví dụ: .dblclick() -> 'dblclick' =>

$('a').on('dblclick', function() { 
    console.log("I got double clicked"); 
} 

http://api.jquery.com/category/events/ là một danh sách đầy đủ các phương pháp sự kiện.(Có, tôi biết tôi không phải là người duy nhất trỏ đến trang này nhưng cùng với lời giải thích của tôi đó là danh sách đầy đủ các sự kiện cho 'on'/'live'/'bind')

Nếu bạn có cơ hội để sử dụng on() bạn nên làm như vậy vì on() thực hiện tương tự và tất cả các cuộc gọi đến 'bind' và 'live' thực sự gọi hàm 'on'. Dưới đây là minh chứng rõ hơn về điều này: What's the difference between `on` and `live` or `bind`?

Một số người cũng đã hỏi về các sự kiện liên lạc (di động). Tôi thường khuyên bạn nên sử dụng phương thức sự kiện on() vì theo jQuery mobile documentation đây là cách duy nhất để đăng ký sự kiện chạm trên các phần tử html, tương đương với kế hoạch api tương lai của jQuery để loại bỏ bind()/live() và tất cả các phương thức sự kiện phím tắt.

Các vấn đề liên quan