Простой плагин jquery - PullRequest
       5

Простой плагин jquery

1 голос
/ 10 августа 2011

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

Покажите мне пожалуйста стартовый шаблон.Скажем для примера, я должен получить что-то, что я могу назвать так:

 $("a").myMessagePlugin();

Теперь, каждый раз, когда кто-то нажимает на ссылку, он должен просто вспомнить предупреждение и показать эту ссылку.

Спасибо

Ответы [ 3 ]

3 голосов
/ 10 августа 2011

Всякий раз, когда вы пишете плагин jQuery, убедитесь, что вы возвращаете объект jQuery, потому что он поможет в цепочке методов jQuery.

$.fn.myMessagePlugin = function(options) {
    return this.each(function(){
        //plugin logic here
        $(this).click( function() { 
           alert(this.href);
        });
    });
}
2 голосов
/ 10 августа 2011

Другие ответы в основном правильные, но если вы хотите использовать знак доллара, оберните его анонимной функцией и передайте объект jQuery.В противном случае вы рискуете конфликтовать с другими библиотеками.

(function($) {
    $.fn.myMessagePlugin = function(options) {
        return this.click( function() { //jQuery object, to be returned
            alert(this.href); //html element
        });
    }
})(jQuery);
1 голос
/ 10 августа 2011

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

Также рекомендуется определить значения по умолчанию для параметров и расширить их, используя $ .extend

(function($, undefined) {
    $.fn.myPlugin= function(options) {
        var opts = $.extend($.fn.myPlugin.defaults, options);

        return this.click( function() { //jQuery object, to be returned
            alert(this.href); //html element
        });
    }

    $.fn.myPlugin.defaults =  {
       "option1": 1,
       "option2": 2
    }
})(jQuery);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...