Твиттер Boostrap Popover.js с расширенным выбором цветовой палитры теряет вложенные события

Я использую бутсрап из твиттера, и это круто. Тем не менее, у меня есть небольшая проблема. Я пытаюсь использовать плагин Popover для генерации на лету палитры цветов, связанных с каждым входом с классом.colorInput

Вот код, который я придумал:

$('.colorInput').each(function()
{
    var src = $(this);

    src.popover({
        html:   true,
        trigger:    'manual',
        content:    function(){
            return $('<div/>').farbtastic(src);
        }
    }).focus(function(e){

        src.data('data-default', src.val());

        $('.colorInput').each(function(){
            $(this).popover('hide');
        });
        src.popover('show');


    }).blur(function(e){
        if(src.data('data-default') != src.val())
        {
            formSubmit();
        }

        src.popover('hide');
    });   
});

Все работает довольно хорошо, за исключением одной ОГРОМНОЙ детали: когда я устанавливаю содержимое поповера с помощью

return $('<div/>').farbtastic(src);

возвращаемые данные чередуются с любым из EventHandlers, прикрепленным плагином farbtastic. Любая идея, как я мог бы сохранить код так же просто, как он есть, и не потерять какие-либо из событий, связанных с возвращенным?

Спасибо!

1 ответ

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

+ Изменить

 content:    function(){
    return $('<div/>').farbtastic(src);
 }

в

 content:    function(){
    return $('<div id="placeholder" />');
 }

и приложить farbtastic как раз перед звонком show:

.focus(function(e){

    src.data('data-default', src.val());

    $('.colorInput').each(function(){
        $(this).popover('hide');
    });

    $('<div id="placeholder" />').farbtastic(src);
    src.popover('show');
}
Другие вопросы по тегам