powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Плагин jQuery - как сгенерить событие?
3 сообщений из 3, страница 1 из 1
Плагин jQuery - как сгенерить событие?
    #39037337
maxapet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал написать свой плагин. Нашёл кучу ссылок, но в основном это перевод одной и той же статьи, например вот это: Как написать плагин на jQuery .
Написал, как рекомендовано. А именно, загнал все методы плагина в объект methods, в том числе и метод init.
И столкнулся с такой проблемой: после инициализации плагина мне необходимо сгенерить событие initialized. Самое подходящее место для этого - перед завершением метода init. Но почему-то триггер не срабатывает в методе init.
Вот код:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
(function ($) {
    var defaults = {
// настройки по умолчанию для всех копий плаина
 };

    var methods = {
        init: function (options) {
            // актуальные настройки, будут индивидуальными при каждом запуске
            settings = $.extend({}, defaults, options); // settings - локальная, т.к. для каждого экземпляра должны быть свои настройки
            // определяем переменные. Локальные, т.к. для каждого экземпляра они должны быть свои
            $this = $(this); //родительский элемент (Блок в котором находится карусель)  
            $carousel = $this.children(':first'); // получаем дочерний элемент (UL) т.е. саму карусель
            itemWidth = $carousel.children().outerWidth() + settings.margin; // вычисляем ширину элемента
            itemHeight = $carousel.children().outerHeight() + settings.margin; // вычисляем высоту элемента                   
            itemsTotal = $carousel.children().length; // получаем общее количество элементов в карусели
            slideCnt = settings.slideCounter;
            running = false; //останавливаем процесс
            intId = null; // очищаем интервал. Переменная локальная, т.к. для каждого экземпляра должен быть свой таймер
            //size - размер для вычисления длины, зависит от ориентации карусели
            size = itemWidth;
 /*
настройка 
*/
            alert($(this).attr('id')); // возвращает id объекта, к которому цепляется плагин
            $(this).trgger('carousel.load'); // исключение: свойство триггер объектом не поддерживается

            return this;
        },
/*
другие методы
*/
    };
// единственная публичная функция плагина
    function doSlide(dir) {
/*
некоторые действия
*/
                       alert($(this).attr('id')); // возвращает пустую строку 
                        $(this).trigger('carousel.drawComplete'); // нормально генерится событие
        return this; 
    }

// главная функция плагина
    $.fn.carousel = function(method) {
        settings = null;
        // обеспечиваем внешний вызов методов плагина
        // логика вызова метода
        if (methods[method]) {
            return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
        } else if (typeof method === 'object' || !method) {
            return methods.init.apply(this, arguments);
        } else {
            $.error('Метод с именем ' + method + ' не существует для jQuery.carousel');
        }
        return this;
    };
})(jQuery);



В чём может быть дело? Как сгенерить событие из метода, входящего в свойство methods?
...
Рейтинг: 0 / 0
Плагин jQuery - как сгенерить событие?
    #39037343
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, потому что действительно нет такого: trgger
...
Рейтинг: 0 / 0
Плагин jQuery - как сгенерить событие?
    #39037381
maxapet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, действительно ошибся в написании. Теперь исключение пропало, но метод, назначаемый на это событие, всё же не вызывается. :-(
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Плагин jQuery - как сгенерить событие?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]