доступ к плагину jQuery

#javascript #jquery #plugins

#javascript #jquery #Плагины

Вопрос:

Я создаю проигрыватель YouTube на jQuery, и я делаю это как плагин jQuery, например:

  $.fn.extend({

        uplayList: {},

        CreateUplayList: function (options) {
            this.each(function  () {
                $(this).uplayList = new $.playList(this, options);
            });
        }
    });
  

Но, если я сделаю:

 $('#playlist').CreateUplayList({....});
  

И я хочу получить доступ к экземпляру:

 $('#playlist').uplayList.play();
  

Это не работает, в этом есть смысл, потому что $(‘#playlist’) — это селектор. Я вижу в других плагинах что-то подобное:

 $('#playlist').pluginname('play');
  

Как я могу это применить??

Ответ №1:

Смотрите раздел «Добавление методов в виджет» раздела «Плагины с отслеживанием состояния» Руководства по разработке плагинов jQuery.

Комментарии:

1. 1 О, и @Exos всегда помни… «jQuery.fn произносится как jQuery effin ‘ «.

2. ну, так что не спрашивай меня. Я делаю это: pastebin.com/TDLFLh6V и теперь $(‘#obj’). UplayList(‘play’); или $(‘#obj’). UplayList(‘setVolume’,75); работает! используя данные, я сохраняю идентификатор проигрывателя (уникальный и сгенерированный во время выполнения). Спасибо!

3. Я не вижу «раздела методов», и единственное упоминание «плагина с отслеживанием состояния» (который, похоже, искал OP) находится в разделе jQuery UI Widget Factory , который не мне

4. @PierredeLESPINAY похоже, они переписали это руководство : (

5. Я тоже так подумал. Все еще ищу решение, не зависящее от пользовательского интерфейса jQuery.