javascript – 更改Bootstrap模式选项一旦它已经存在

我使用Bootstrap Modal.我声明,我称之为,我显示它…一切似乎都可以。

但是,如果我已经存在已经存在的模式,以前用“keyboard”属性显示为false,我想随时更改它?我的意思是:

首先,我创建一个Modal来做这个(你可以看到,我声明模态put键属性为false):

$('#myModal').modal({
    show: false,
    backdrop: true,
    keyboard: false
});

但是,然后我声明这个事件处理程序,这意味着如果发生“某事”,我希望将keyboard属性设置为true。

 $('#myModal').on('shown', function(e) {
    if (something){
        $('#myModal').modal({keyboard: true});
    }
 }

所以,当我走

$("#myModal").show();

事件处理程序没有做什么,因为一旦Escape键被按下,我就不会关闭模态。但是我完全确定“某事”是真的,我已经检查并重新检查$(‘#myModal’).modal({keyboard:true})是否被执行。

任何线索,为什么这不是更新配置选项的价值?

要更改已启动的Bootstrap插件(如Modal)上的配置设置,您需要访问附加到元素的插件对象,如$(‘#pluginElement’)。data [‘somePlugin’],然后设置其中的选项。

对于Modal,您需要:

$('#myModal').data('modal').options.keyboard = true;

For Bootstrap 3 (as mentioned in comments by @Gerald ), you need bs.modal:

$('#myModal').data('bs.modal').options.keyboard = true;

JSFiddle Demo

http://stackoverflow.com/questions/11806816/change-bootstrap-modal-option-once-it-already-exists

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:javascript – 更改Bootstrap模式选项一旦它已经存在