Создать плагин, выставить события - PullRequest
9 голосов
/ 11 ноября 2010

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


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

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

для запуска события, но я ищу рекомендации, описывающие, как объявлять и вызывать события в плагинах.

Ответы [ 2 ]

0 голосов
/ 11 июня 2012

Я думаю, что вы можете проверить некоторые из наиболее часто используемых плагинов и сделать свои собственные предположения. У нас нет стандартов на это, просто соглашение по коду.

Colorbox (источник: https://github.com/jackmoore/colorbox/blob/master/jquery.colorbox.js) определяет префикс и некоторые константы для имен событий. Он также имеет функцию для запуска и запуска обратных вызовов.

jQuery UI (источник: 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),, но вы можете видеть, что события жестко закодированы в середине source вместо констант сверху, как в Colorbox.

Я лично думаю и делаю это в моих собственных плагинах, что создание констант намного лучше, если у вас есть много событий для запуска, но не обязательно, если вы будете запускать только 2 или 3 события.

Вспомогательная функция обязательна и должна быть частью вашего шаблона.

Имена событий, которые я использую и вижу вокруг, соответствуют стандарту CamelCase например. beforeClose.

Некоторые выступают за использование префикса для таких событий, как на cbox_open или даже click.myPlugin в Colorbox (см .: http://api.jquery.com/on/#event-names)

Заключение: старайтесь следовать передовым методикам и соглашениям для программирования в целом и следите за лучшими примерами.

0 голосов
/ 16 марта 2012

в плагине создать объект litereal, как

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


};
...