2

我正在使用来自 twitter 的 bootsrap,它很酷。然而,我有一个小问题。我正在尝试使用 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);

返回的数据被 farbtastic 插件附加的任何事件处理程序条带化。知道如何保持代码尽可能简单,并且不会丢失附加到返回的任何事件吗?

谢谢 !

4

1 回答 1

0

我不熟悉这些插件/库,但我建议如下:

改变

 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');
}
于 2011-11-17T17:55:41.983 回答