Создать плагин, выставить события
Как мне выставить события пользователям моего плагина?
Я знаю, что я должен использовать:
$('#myPluginDiv').trigger('eventName', ["foo", "bar"]);
чтобы вызвать событие, но я ищу лучшие практики, описывающие, как объявлять и вызывать события в плагинах.
2 ответа
Я думаю, что вы можете проверить некоторые из наиболее часто используемых плагинов и сделать свои собственные предположения. У нас нет стандартов на это, просто соглашение по коду.
Colorbox (источник: https://github.com/jackmoore/colorbox/blob/master/jquery.colorbox.js) определяет префикс и некоторые константы для имен событий. Он также имеет функцию для запуска и запуска обратных вызовов.
Пользовательский интерфейс jQuery (источник: https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.widget.js) также имеет общую функцию в классе виджетов для запуска событий (использование: https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.dialog.js), но вы можете видеть, что события жестко запрограммированы в середине источника, а не в константах в верхней части как на Colorbox.
Я лично думаю и делаю это в моих собственных плагинах, что создание констант намного лучше, если у вас есть много событий для запуска, но это не обязательно, если вы запустите только 2 или 3 события.
Вспомогательная функция обязательна и должна быть частью вашего шаблона.
Имена событий, которые я использую и вижу вокруг, следуют стандартному CamelCase, например beforeClose
,
Некоторые выступают за использование префикса для таких событий, как на Colorbox cbox_open
или даже click.myPlugin
(см.: http://api.jquery.com/on/)
Вывод: попытайтесь следовать передовым практикам и соглашениям для программирования в целом и следите за лучшими примерами.
В плагине создать объект Litereal вроде
var plugin = {
show:function(){
// code for show()
}
};