这对你来说应该很简单。我不久前制作了一个插件,忘记了如何将插件设置为变量然后使用它。我想我的代码可以帮助你理解我在说什么。
var $bgcolourpicker1 = $('div.bgcolour1').bpcolourpicker(
{
returncolour: bgcolour1,
cssposition: 'relative'
});
所以控制已经建立,但在任何时候我都可能想要重新设置这样的属性。
$('div.bgcolour2').bpcolourpicker({ returncolour: bgcolour1 });
这有效,但我确定可以通过使用变量$ bgcolourpicker1来完成。例如。
$bgcolourpicker1.bpcolourpicker({ returncolour: bgcolour1 });
有人知道是否可以这样做吗?我相信我以前见过它。
由于
答案 0 :(得分:0)
我认为这种情况的常见设计有点像这样:
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
}
};