我在使用bootstrap框架的项目中工作,我读到有不同的方法可以打开一个模态窗口,在我的例子中,我用这个代码用javascript打开它:
$('#formVenta').modal({backdrop: 'static', keyboard: false});
我之所以这样做是因为客户要求我在外面点击时避免关闭模态,但是现在他想再次点击外面并再次关闭模态,但是当窗口内的特定div内没有内容时
<div id="content_goes_here"></div>
我想以这种方式解决这个问题
$(document).click(function(e) {
//check if modal is open
if ($('#formVenta').is(':visible')) {
//check if div has content
if ($('#content_goes_here').html().length > 0) {
//do something
}
}
});
我看到的问题是在div
之外有文本输入,如果我想搜索某些东西,当我点击输入时它会关闭,因为{{1}内部还没有内容我希望避免这个问题。
有没有办法只有当我在模态窗口外点击时检查div
是否为空并且与我打开窗口的方式相反,在这种情况下与此相反?
div
例如,更改属性$('#formVenta').modal({backdrop: 'static', keyboard: false});
的值。
我希望你能帮助我,谢谢。
答案 0 :(得分:1)
$('#formVenta').data('bs.modal').options.backdrop = false;
或
$('#formVenta').data('bs.modal').options.backdrop = static;
您可以查看您执行的当前属性
alert(JSON.stringify($('#myModal3').data('bs.modal').options));
或将警报更改为console.log()
所以你可以在div上放置一个事件,当它更改为运行验证函数时,在验证函数内部你可以用上面的代码改变模态的选项