【问题标题】:Executing a function send with a variable使用变量执行函数发送
【发布时间】:2013-04-26 09:17:25
【问题描述】:

我有以下代码

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 在他们的对话框中一样。

我是这样发送的:

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

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

TypeError: data[option] is not a function   

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

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

【问题讨论】:

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


    【解决方案1】:

    解决了。因为我习惯了 jQuery 对话框,所以我将 close 作为模态函数。 Bootstrap 模式只需要hide 作为函数来再次关闭它。现在效果很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-17
      • 1970-01-01
      • 2011-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多