2013-04-26 33 views
5

Từ http://api.jquery.com/on/:Hiểu jQuery API Documentation Cú pháp

.on(events [, selector ] [, data ], handler(eventObject)) 

Tôi biết điều này nghe có vẻ hơi ngớ ngẩn, nhưng bất cứ ai có thể giải thích cú pháp ở đây?

[] có nghĩa là gì? Tôi nghĩ rằng nó có nghĩa là bạn có thể thêm một số tùy chọn (bộ chọn/dữ liệu) nhưng vì bạn cũng có thể thêm một số sự kiện, tại sao events không có dấu ngoặc vuông?

Ngoài ra đây là một ví dụ .Trên():

$(document).on("click", ".item", function() { 
alert("hi"); 
}); 

Trường hợp không data viết bằng cú pháp phương pháp đi vào chơi ở đây?

+1

Tôi tin rằng đó là tùy chọn, sự kiện là bắt buộc. – KryptoniteDove

Trả lời

2

Dấu ngoặc vuông cho biết đối số là tùy chọn. Đối với phương pháp .on(), cả hai selectordata là tùy chọn, nhưng yêu cầu eventshandler.

Ví dụ:

$(something).on("click", function() {}); 
//    ^events ^handler 

$(something).on("click", ".child", function() {}); 
//    ^events ^selector ^handler 

$(something).on(function() {}); // Won't work, missing events argument 
1

Các [] cho biết các thông số đó là tùy chọn. Bạn có thể có số không hoặc một số selector s và data.

Cuộc gọi mẫu bỏ qua thông số data.

0

Các dấu ngoặc vuông chỉ ra rằng các tham số là tùy chọn. Vì vậy, bạn có thể tùy ý cung cấp một bộ chọn (cho sự kiện ủy nhiệm) hoặc dữ liệu (để sử dụng bên trong hàm xử lý sự kiện), nhưng bạn không phải làm như vậy.

Đối với ví dụ cụ thể của bạn, không có giá trị nào được chuyển đến data (vì bạn không phải làm như vậy). Trong mã cho hàm jQuery on, nó xác định thông số nào thực sự dựa trên loại giá trị.