плагин доступа jquery как переменная - PullRequest
1 голос
/ 19 января 2011

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

var $bgcolourpicker1 = $('div.bgcolour1').bpcolourpicker(
    {
        returncolour: bgcolour1,
        cssposition: 'relative'
    });

Итак, элемент управления был установлен, но в любой момент времени я мог бы захотеть переустановить свойство, подобное этому.

$('div.bgcolour2').bpcolourpicker({ returncolour: bgcolour1 });

Это работает, но я уверен, что это можно сделать с помощью переменной $ bgcolourpicker1, например.

$bgcolourpicker1.bpcolourpicker({ returncolour: bgcolour1 });

Кто-нибудь знает, можно ли это сделать?Я уверен, что видел, как это было сделано раньше.

Спасибо

1 Ответ

0 голосов
/ 19 января 2011

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

var $bgcolourpicker1 = $('div.bgcolour1').bpcolourpicker({
    returncolour: bgcolour1,
    cssposition: 'relative'
});

$bgcolourpicker1.bpcolourpicker('updateSettings', { returncolour: bgcolour2 });

Затем вы, вероятно, сохраните экземпляр плагина, используя data с объектом jQuery (в данном случае $('div.bgcolour1'), и если первый аргумент передается в функцию, это String, а не объект, который вы выполняете это с использованием уже существующего экземпляра.

В вашем случае вы можете даже пропустить метод и просто проверить, был ли подключен плагин для этого объекта:

$.fn.bpcolourpicker = function(settings) {
    return $(this).each(function(i, e) {
        if ($(e).data('bpcolourpicker'))
            // … use the one you have already
        else
            // … regular plugin execution
    }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...