bootstrap同时调用多modal时,提示Maximum call stack size exceeded

发布于 2021-11-23 21:50:55 字数 2124 浏览 928 评论 10

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(10

奢望 2021-11-30 07:15:51

bootstrap-modalmanager.js bootstrap-modal.js  bootstrap-modal.css

这几个文件从哪里可以下载到?

无人问我粥可暖 2021-11-30 07:15:43

在更新的时候,为返回信息提示,不能先关闭,再显示,这样体验不好

牵你的手,一向走下去 2021-11-30 07:13:27

我的做法是在调用新窗口之前,手动关闭其他窗口

如此安好 2021-11-30 07:10:52

第2个为自动弹窗,也就是直接调用,不是通过按钮

别再吹冷风 2021-11-30 06:50:59

m_info.modal({ keyboard: false });

各自安好 2021-11-30 06:50:56

我弹出过两个的,没发现问题

醉酒的小男人 2021-11-30 04:18:11

知道是死循环了,所以现在要都解决啊,这是bootstrap的问题

因为看清所以看轻 2021-11-29 22:23:20

很明显,死循环了

沦落红尘 2021-11-29 22:03:49

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

带上头具痛哭 2021-11-27 18:47:56

已经解决了,需要引入bootstrap-modalmanager.js bootstrap-modal.js  bootstrap-modal.css,默认是不可同时多个的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文