2011-01-19 2 views
1

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

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

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

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

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

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

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

Благодаря

ответ

0

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

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

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

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

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

$.fn.bpcolourpicker = function(settings) { 
    return $(this).each(function(i, e) { 
     if ($(e).data('bpcolourpicker')) 
      // … use the one you have already 
     else 
      // … regular plugin execution 
    } 
}; 
Смежные вопросы