2011-12-22 32 views
36

Tôi biết rằng phương pháp on, được cho là thay thế live, delegate v.v ... Nhưng có điểm nào trong việc sử dụng phương pháp này trên những nơi bạn hiện đang sử dụng sự kiện click không? Ví dụ trên các phần tử không được tạo động.jquery on so với phương pháp nhấp

Trả lời

28

Không có giá trị cụ thể thay thế click(), như trong nguồn jQuery, nó chuyển đổi tất cả trình xử lý sự kiện 'phím tắt' (như click(), keyup() v.v.) thành on("event", fn).

+2

Từ tài liệu: 'Có các phương pháp viết tắt cho một số sự kiện như .click() có thể được sử dụng để đính kèm hoặc kích hoạt trình xử lý sự kiện. Để có danh sách đầy đủ các phương thức viết tắt, hãy xem danh mục sự kiện'. Vì vậy, câu trả lời sẽ là không, giống như @Rory đang nói tôi nghĩ vậy. –

+9

Cũng giống như bạn không sử dụng '.bind (" click ")' thay vì '.click()' trước đó, bạn không cần sử dụng '.on (" click ")' thay vì '.click() 'bây giờ. –

+1

Nhưng phương thức viết tắt .click() sẽ gọi .on() và sau đó sẽ gắn trình xử lý sự kiện ở cấp cơ sở và pha bubbling sẽ đi qua tất cả cấu trúc từ phần tử đến gốc. Với .on() trực tiếp, bạn có thể đính kèm trình nghe sự kiện nhấp vào nút cha ngay lập tức và điều này sẽ giảm pha bọt nhưng trong trường hợp sự kiện nhấp chuột, tôi nghĩ nó sẽ là một sự ứng biến rất nhỏ. – Samuel

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