Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.08.2013, 18:40
Новичок на форуме
Отправить личное сообщение для fish9370 Посмотреть профиль Найти все сообщения от fish9370
 
Регистрация: 28.08.2013
Сообщений: 2

jqury plugin
добрый день,
я разрабатываю плагин для jQuery и столкнулся с проблемой

(function($) {
    var opt;

    var methods = {
        init: function(options) {
            opt = $.extend({
                    uid: 0
                },
                options
            );
        },
        show: function() {
            alert('show');
        },
        hide: function() {
        },
        update: function(content) {
        }
    };


    // jQuery plugin
    $.monitor = function(method) {
        var $this = $(this);

        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 {
            /* method undefined */;
        }
    };
})(jQuery);


вызов:
$.monitor('start');


этот код завешивает намертво страницу

что не так?
Ответить с цитированием
  #2 (permalink)  
Старый 29.08.2013, 01:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от fish9370
$.fn.monitor = function(method)
да и вызов для проверки лучше хотябы с минимальным обьектом проверять
$({}).monitor('start');
Ответить с цитированием
  #3 (permalink)  
Старый 29.08.2013, 10:57
Новичок на форуме
Отправить личное сообщение для fish9370 Посмотреть профиль Найти все сообщения от fish9370
 
Регистрация: 28.08.2013
Сообщений: 2

рони, спасибо за ответ, но так было и задумано,
мне нужен плагин без привязки к DOM (возможно это не называется плагин, поправьте если что)

я хочу плагин, с множеством методов, типа
$.monitor('init', options); 
$.monitor('update'); 
$.monitor('chat', text);

еще раз повторюсь, он должен быть глобальным, и не привязан к какому-то элементу DOM

на самом деле, мне уже помогли на форуме jQuery, мне посоветовали заменить opt на объект и заменить this на opt, и это вправду заработало.

но если есть более правильный паттерн, пожалуйста покажите его
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
textchange plugin VitAl2013 jQuery 15 01.08.2012 08:48
jQuery plugIn Nightmare jQuery 6 18.09.2011 16:26
Google Maps plugin InviS jQuery 0 06.10.2010 14:17
Как подружить jQuery Form Plugin и Zforms? vlaabra AJAX и COMET 0 02.02.2010 19:48
jQuery jTreeMenu plugin Seafnox jQuery 9 12.01.2010 21:55