Bootstrap 3模态:如何使用jquery / javascript检查模态是打开还是关闭

谁能告诉我如何检查bootstrap 3.0模态状态,是使用jQuery还是javascript打开或关闭。 我使用了以下代码,但是当你打开一个模态一次时它会起作用,否则会给出数据未定义的错误。

if($('#addMemberModal').data('bs.modal').isShown == true){ console.log("Modal is open"); } 

你也可以像这样使用直接jQuery:

 $('#myModal').is(':visible'); 

你可以参考他们的页面http://getbootstrap.com/javascript/#modals

 $('#myModal').on('hidden.bs.modal', function (e) { // do something... }) 

show.bs.modal
调用show实例方法时会立即触发此事件。 如果由单击引起,则单击的元素可用作事件的relatedTarget属性。

shown.bs.modal
当模态对用户可见时将触发此事件(将等待CSS过渡完成)。 如果由单击引起,则单击的元素可用作事件的relatedTarget属性。

hide.bs.modal
调用hide实例方法时会立即触发此事件。

hidden.bs.modal当模态完成对用户的隐藏时将触发此事件(将等待CSS转换完成)​​。 loaded.bs.modal当模式使用remote选项加载内容时会触发此事件。

试试检查:

 if($("#addMemberModal").data('modal') && $("#addMemberModal").data('modal').isShown ) { console.log("Modal is open"); } 

要么

 if( $('#addMemberModal').hasClass('in') ) { console.log("Modal is open"); } 

如果在ajax加载的表单中打开模态,则可以使用

 $(document).on('hidden.bs.modal', '#photoModal', function () { cancel_camera(); document.getElementById('PhotoPerson').innerHTML = ''; });*