执行带变量的函数发送

时间:2013-04-26 09:17:26

标签: jquery button twitter-bootstrap modal-dialog typeof

我有以下代码

if(data.title != false) {
    $('#modal').find('.modal-header h3').html(data.title);
}
if(data.buttons != false) {
    $.each(data.buttons, function(i, button){
        $('.modal-footer').append('<button class="btn" id="btn_'+button.text+'">'+button.text+'</button>');

        if(jQuery.type(button.click) === 'function') {
            console.log('jQuery says it is a function')
            $('.modal-footer').off('click', '#btn_'+button.text).on('click', '#btn_'+button.text, button.click());
        }
    });
}

它是用于打开引导模式(对话框)的函数的一部分。 我试图在jQuery上添加自定义按钮添加自定义按钮,就像jQuery在对话框中一样。

我这样发送:

makeBootstrapModal({
    buttons: [
        {
            text:'OK',
            click: function() {
                $('#modal').modal('close');
            }
        },
        {
            text:'Annuleren',
            click: function() {
                $('#modal').modal('close');
            }
        },
    ],
    title: 'Hallo',
});

标题被正确添加并且在控制台中我知道button.click是我检查时的一个函数,但是当我尝试将其添加为click事件时,我收到以下错误:

TypeError: data[option] is not a function   

if (typeof option == 'string') data[option]()

这是我第一次使用这样的功能。有谁知道如何使这项工作? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

解决了它。因为我习惯于jQuery对话框,所以我将close作为模态函数。 Bootstrap模式仅将hide作为函数再次关闭它。现在它很棒。