2013-03-15 59 views
0

我试图绑定一个名为miniColors(http://bit.ly/Mq88mU)的jQuery插件到我有的点击功能中,以将幻灯片添加到幻灯片管理器。我似乎无法弄清楚如何正确地绑定它。有任何想法吗?绑定颜色选择器插件点击功能

这是我的外接滑动功能

el.on('click', '.addSlide', function (e) { 
    e.preventDefault(); 
    var templ = $('#slideTemplate').html(); 
    var id = parseInt($('ul.ui-sortable li').last().find('.order').val()) || 0; 
    var slide = templ.replace(/%id%/g, id).replace(/%id1%/g, id + 1); 
    $(templ).find('.minicolors').minicolors(); 
    $(slide).hide().insertAfter($('ul.ui-sortable li').last()).fadeIn(300); 
}); 

回答

0

不知道这是实现它的正确方法,但通过使用淡入功能我已经能够做到什么我打算。

$(slide).hide().insertAfter($('ul.ui-sortable li').last()).fadeIn(function(){ 
    $(this).find('.minicolors').minicolors(); 
}); 
0

你们是不是这样,它出现在点击绑定呢?我想像你只需要像做...

$('.minicolors').minicolors(); 

您可以通过使用jQuery选择为它选择类“minicolors”的申报单。

我不确定你在用find()为什么,但我敢肯定你不想在slideTemplate div中使用任何HTML作为它的选择器。

+0

我曾尝试过,它已经在那里添加了一个现有的幻灯片。所以每次添加新幻灯片时,都会将该插件添加到所有幻灯片中。 – souporserious 2013-03-15 19:51:44

1

它看起来像你试图初始化插件,而它不存在于DOM上。

var templ = $('#slideTemplate').html(); 
var id = parseInt($('ul.ui-sortable li').last().find('.order').val()) || 0; 
var slide = templ.replace(/%id%/g, id).replace(/%id1%/g, id + 1); 

$('PARENT').append($(templ)); 
$(templ).find('.minicolors').minicolors(); 

或者,如果你想直接关闭DOM工作:

var templ = $('#slideTemplate'); 
var id = parseInt($('ul.ui-sortable li').last().find('.order').val()) || 0; 
var slide = templ.html().replace(/%id%/g, id).replace(/%id1%/g, id + 1); 
templ.find('.minicolors').minicolors(); 
+0

对不起,这没有奏效。 – souporserious 2013-03-15 22:02:43