2013-04-26 47 views
0

发送我有以下代码执行一个功能具有可变

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是一种功能,当我检查了,但是当我尝试将其添加为一个click事件我收到以下错误:

TypeError: data[option] is not a function 

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

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

回答

0

解决了它。因为我习惯于jQuery对话框,所以我把close作为模态函数。 Bootstrap模式仅需要hide作为函数来再次关闭它。现在它运作良好。