Một widget có ba giai đoạn:
+-------+----------------+---------------+--------------------------------------------------------------------------------------------+
| Phase | Name | jQuery Method | Description |
+-------+----------------+---------------+--------------------------------------------------------------------------------------------+
| 1 | Creation | _create | First time the widget is applied to an element, it is called. |
| 2 | Initialization | _int | The _init method is called after _create when the widget is first applied to its elements. |
| 3 | Destruction | destroy | The widget's destroy method is used to detach a widget from an element. |
+-------+----------------+---------------+--------------------------------------------------------------------------------------------+
LƯU Ý: Tên phương pháp bắt đầu với một dấu gạch dưới có nghĩa là được tư nhân theo quy ước.
Vì vậy, có sự khác biệt giữa _create
và _init
. Một được sử dụng để tạo và cái còn lại được sử dụng để khởi tạo. Mỗi lần bạn gọi tiện ích không có đối số hoặc với các tùy chọn, nó sẽ gián tiếp gọi phương thức _init
. Do đó, điều này có thể được sử dụng để đặt lại (khởi tạo lại) một tiện ích hoặc chuyển các tùy chọn khác.
Thông tin chi tiết về từng giai đoạn here.
Điểm tốt trên tiện ích. Bạn có bất kỳ thay thế phụ tùng nếu tôi không muốn giới thiệu thêm phụ thuộc vào jqueryui? –
Bạn có thể trích xuất mã tiện ích và đưa nó vào tệp .js của mình. Đã có nói về việc di chuyển widget vào jquery chính nó thay vì jqueryui nhưng tôi không biết nếu đó là dự kiến cho một bản phát hành cụ thể hay chưa. –
Có sự khác nhau giữa _init và _create. _create được gọi chỉ một lần. _init sẽ được gọi là nhiều thời gian như được đề cập từ @fudgey – jsgoupil