Написание плагина Jquery: Как мне использовать опции в моем коде? - PullRequest
0 голосов
/ 17 ноября 2011

Итак, я конвертирую плагин. Первоначально у меня была традиционная функция JavaScript с некоторыми переменными, которые я передаю, но я хотел сделать ее полноценным плагином Jquery с опциями. В документации показано, как их настроить, но не как использовать их в своем коде. Вот немного кода:

jQuery.fn.placeholderRX = function(options) {
    var settings = jQuery.extend({
        hoverColor: '#fff',
        addClass: 'null',
        textColor: '#FBFBFB'        
    }, options);

    var $this = $(this);

    $this.children('.inputSpan').each(function() {      
            $(this).children('.inputText').hover( 
                function() {
                    $input.children('.input').css('background-color', hoverColor);
                },
                function() {
                    $input.children('.input').css('background-color', revertColor);
                }
            );
        }       
    });
};

Как бы я передал значение этого параметра цвета в функцию наведения под ним? Или, проще говоря, я могу просто передать значение параметра в переменную?

Ответы [ 3 ]

3 голосов
/ 17 ноября 2011

Вы объявили переменную с именем settings. Вы можете получить доступ к свойству hoverColor этого объекта с помощью settings.hoverColor:

$input.children('.input').css('background-color', settings.hoverColor);

Аргумент options для вашего плагина также будет объектом. Когда вы передаете это, метод extend объединит содержимое объекта options и объекта "по умолчанию", и вы присваиваете результат этого слияния settings.

2 голосов
/ 17 ноября 2011

Должно работать следующее:

$input.children('.input').css('background-color', settings.hoverColor);

Или то, что сказал jcreamer898, также работает:

$input.children('.input').css('background-color', settings['hoverColor']);
1 голос
/ 17 ноября 2011

Это должно работать ...

$input.children('.input').css('background-color', settings['hoverColor'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...