Создать плагин, выставить события

Как мне выставить события пользователям моего плагина?


Я знаю, что я должен использовать:

$('#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()
}


};
Другие вопросы по тегам