ModalFix.js 915 B

12345678910111213141516171819202122232425262728293031323334
  1. export default {
  2. /**
  3. * 获取BootstrapDialog插件显示的模态框的数量
  4. */
  5. getBootstrapDialogCount: function(){
  6. return $('div[class*=\'modal\'][class*=\'bootstrap-dialog\']').length;
  7. },
  8. /**
  9. * 获取Modal.vue插件显示的数量
  10. */
  11. getActiveModalCount: function(){
  12. return $('div:visible').children('div.modal').length;
  13. },
  14. /**
  15. * 获取HTML界面模态框可见的总数
  16. */
  17. getActiveCount: function(){
  18. return this.getBootstrapDialogCount() + this.getActiveModalCount();
  19. },
  20. fix: function(){
  21. var activeModalCount = this.getActiveCount();
  22. if(activeModalCount == 0){
  23. // 界面已经没有活动的模态框
  24. document.body.className = document.body.className.replace(/\s?modal-open/, '');
  25. }else{
  26. if(document.body.className.indexOf('modal-open') < 0){
  27. document.body.className += ' modal-open';
  28. }
  29. }
  30. },
  31. };