2010-11-11 35 views
9

Làm cách nào để hiển thị sự kiện cho người dùng plugin của tôi?Tạo plugin, hiển thị sự kiện


Tôi biết rằng tôi nên sử dụng:

$('#myPluginDiv').trigger('eventName', ["foo", "bar"]); 

để kích hoạt sự kiện này nhưng tôi đang tìm kiếm thông lệ tốt nhất mô tả cách khai báo và gọi sự kiện trong plugin.

Trả lời

0

Tôi nghĩ rằng bạn có thể kiểm tra một số các plugin sử dụng nhiều nhất và làm cho các giả định của riêng bạn. Chúng tôi không có tiêu chuẩn về điều này, chỉ cần quy ước mã.

Hộp màu (nguồn: https://github.com/jackmoore/colorbox/blob/master/jquery.colorbox.js) xác định tiền tố và một số hằng số cho tên sự kiện. Nó cũng có chức năng kích hoạt và chạy các cuộc gọi lại.

Giao diện người dùng jQuery (nguồn: https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.widget.js) cũng có chức năng chung trên lớp tiện ích để kích hoạt sự kiện (sử dụng: https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.dialog.js), nhưng bạn có thể thấy rằng sự kiện được mã hóa cứng ở giữa nguồn, thay vì hằng số trên đầu như trên hộp màu. Cá nhân tôi nghĩ, và làm điều đó trong các plugin của riêng tôi, tạo ra các hằng số tốt hơn nhiều nếu bạn có rất nhiều sự kiện để kích hoạt, nhưng không cần thiết nếu bạn chỉ kích hoạt 2 hoặc 3 sự kiện.

Chức năng trợ giúp là phải có và phải là một phần của mẫu của bạn.

Tên sự kiện tôi sử dụng và nhìn thấy xung quanh tất cả đều tuân theo tiêu chuẩn CamelCase ví dụ: beforeClose.

Một số ủng hộ việc sử dụng một tiền tố cho các sự kiện như trên hộp thuốc vẽ của cbox_open hoặc thậm chí click.myPlugin (xem: http://api.jquery.com/on/#event-names)

Kết luận: cố gắng làm theo thông lệ tốt nhất và công ước cho lập trình nói chung và quan sát cho các ví dụ tốt hơn trên mạng .

-1

trong plugin tạo đối tượng litereal như

var plugin = { 
    show:function(){ 
// code for show() 
} 


}; 
+0

Tôi đã hỏi về các phương pháp hay nhất để trưng bày và xuất bản sự kiện. Mã của bạn thậm chí không tuân theo mẫu plugin jQuery. – jgauffin

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