bootstrap同时调用多modal时,提示Maximum call stack size exceeded
Uncaught RangeError: Maximum call stack size exceeded
HTML
<div id="Modal_Info" class="modal hide fade" style="width:auto;height: auto;" tabindex="1" role="dialog" aria-labelledby="Modal_Info" aria-hidden="true"> <h2> <span id="ico_info" class="ico_success"></span> <span class="info_s"></span> </h2> </div>
function Modal_Info(_Modal_Info,success,mess){ var m_info = $('#'+_Modal_Info); $(".info_s").html(mess);//先加入消息 var Point = getObjPoint(_Modal_Info);//获得居中的坐标 var ico_info = $("#ico_info"); if(arguments[1]=='success'){ ico_info.attr('class','ico_'+success); }else{ ico_info.attr('class','ico_'+success); } m_info.css({'position':'absolute','top':Point.top,'left':Point.left,'margin-left':'0px','z-index':'9999'}); m_info.modal({ keyboard: false });//关闭模态当退出键被按下 setTimeout(function(){//为一个提示窗口,一秒钟之后关闭,谷歌浏览器没有问题,但是会报错,不影响运行 //$("#"+_Modal_Info).modal('hide'); },1000); }
IE
在谷歌、FF浏览器中有Uncaught RangeError: Maximum call stack size exceeded但是不影响运行结果,一样可以定时关闭,但是IE8就不运行了,卡住了,网上的答案如下,不太明白。在单个弹窗下不所有浏览器都可以运行,结果一样,有碰到如下问题的,求指教!!!
Math.power = Math.pow; Math.pow = function(x, y) { if (x != 0) { return Math.power(x, y); } else { return 0; } } if (Math.power == null) { //Solution: 如果Math.power 已经在别的地方定义过了,再次这样重新定义,会导致循环引用 Math.power = Math.pow; Math.pow = function(x, y) { if (x != 0) { return Math.power(x, y); } else { return 0; } } }
调用方法就是:ajax返回
function(data){ if(data=="success"){ Modal_Info("Modal_Info",'success',"添加部门成功!"); } }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
bootstrap-modalmanager.js bootstrap-modal.js bootstrap-modal.css
这几个文件从哪里可以下载到?
在更新的时候,为返回信息提示,不能先关闭,再显示,这样体验不好
我的做法是在调用新窗口之前,手动关闭其他窗口
第2个为自动弹窗,也就是直接调用,不是通过按钮
m_info.modal({ keyboard: false });
我弹出过两个的,没发现问题
知道是死循环了,所以现在要都解决啊,这是bootstrap的问题
很明显,死循环了
1.这里有说明,不支持重叠的modal
http://getbootstrap.com/javascript/#modals
2.这里有解决方法:(我在v3.3.1下测试成功)
http://gurde.com/stacked-bootstrap-modals/
3.这也有些解决方案:
https://github.com/twbs/bootstrap/pull/5022
已经解决了,需要引入bootstrap-modalmanager.js bootstrap-modal.js bootstrap-modal.css,默认是不可同时多个的