资讯专栏INFORMATION COLUMN

bootstrap modal上弹出dialog 报错Maximum call stack size

jokester / 890人阅读

摘要:昨天修改弹出的警告太难看了,改用对话框,然后就报了一个错反复测试,在的模态框上弹出了的,才报这个错的。设置选项为,并通过选项来指定主要的和次要的用户动作。总之,问题解决了。

昨天修改alert弹出的警告太难看了,改用dialog对话框,然后就报了一个错:

    jquery-2.0.2.min.js:5 Uncaught RangeError: Maximum call stack size exceeded. 

反复测试,在bootstrapmodal模态框上弹出了jQuery UIdialog,才报这个错的。

堆栈溢出!!!
感觉这个问题挺严重的,怎么调试都找不到报错的原因,上网搜了一下,资料如下:
浏览器JS报错Uncaught RangeError: Maximum call stack size exceeded
JS 异常: Uncaught RangeError: Maximum call stack size exceeded

归根结底,原因是递归调用了,但是,如同第二个链接里所说的:

表面上看,是因为递归次数太多导致内存被耗费太多,但是我的程序中,并没有一处使用递归算法啊
我的js中同样是没有使用递归调用的情况啊,差点要放弃了。
问题的根源在于网页中引用了两个不同的JavaScript库,而这两个库都对JavaScript原始对象的某些方法做了修改,从而导致出现了循环引用

仔细研究了下jQuery UI 实例 - 对话框(Dialog),恍然大悟,dialog本质上也是modal
我们这里造成报错的原因 是 我们使用的bootstrapmodal模态框和jQuery UI dialog的确定按钮的click事件冲突了,也就是说,问题的根源是引用了两个不同的JavaScript库,他们都对弹出的modal做出了修改,我两个同时嵌套使用的时候,就造成了递归调用。

最终,解决办法是将dialog的modal设置为false:

$(function() {
    $( "#dialog-modal" ).dialog({
      height: 140,
      modal: false
    });
  });

jQuery UI 实例 - 对话框(Dialog)中也说了:

模态确认
确认一个动作可能是破坏性的也可能是有意义的。设置 modal 选项为 true,并通过 buttons 选项来指定主要的和次要的用户动作。

哎。。。总之,问题解决了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/80658.html

相关文章

  • 前端技术 博客文章、书籍 积累

    摘要:好多编辑器例如等都支持这样的语法来快速的编写代码如何优雅地使用把标签放在结束标签之后结束标签之前的差别什么是响应式设计怎样进行 书籍 《JavaScriptDOM编程艺术》《JavaScript高级程序设计》《JavaScript框架设计》《JavaScript专家编程》《JavaScript Ninjia》《JavaScript语言精粹(修订版)》《JavaScript设计模式》《J...

    LiangJ 评论0 收藏0
  • 前端技术 博客文章、书籍 积累

    摘要:好多编辑器例如等都支持这样的语法来快速的编写代码如何优雅地使用把标签放在结束标签之后结束标签之前的差别什么是响应式设计怎样进行 书籍 《JavaScriptDOM编程艺术》《JavaScript高级程序设计》《JavaScript框架设计》《JavaScript专家编程》《JavaScript Ninjia》《JavaScript语言精粹(修订版)》《JavaScript设计模式》《J...

    codercao 评论0 收藏0
  • 前端技术 博客文章、书籍 积累

    摘要:好多编辑器例如等都支持这样的语法来快速的编写代码如何优雅地使用把标签放在结束标签之后结束标签之前的差别什么是响应式设计怎样进行 书籍 《JavaScriptDOM编程艺术》《JavaScript高级程序设计》《JavaScript框架设计》《JavaScript专家编程》《JavaScript Ninjia》《JavaScript语言精粹(修订版)》《JavaScript设计模式》《J...

    huayeluoliuhen 评论0 收藏0
  • 整理:手机端弹出提示框,使用的bootstrap中的模态框(modal弹出层),比kendo弹出

    摘要:通过按钮属性显示不同内容当有一堆按钮,都要触发相同的模态框如向好友列表中某个人发消息,只是有用户不同,那么可以使用配合来实现好友列表好友列表张三张三李四李四王二王二触发事件的按钮解析出内容效果图: 我的代码示例: &...

    番茄西红柿 评论0 收藏0
  • 用vue实现模态框组件

    摘要:组件结构头部内容区域尾部操作按钮模态框结构分为三部分,分别为头部内部区域和操作区域,都提供了,可以根据需要定制。调用点击确定按钮的回调处理点击取消按钮的回调处理用创建一个索引就很方便拿到模态框组件内部的方法了。 基本上每个项目都需要用到模态框组件,由于在最近的项目中,alert组件和confirm是两套完全不一样的设计,所以我将他们分成了两个组件,本文主要讨论的是confirm组件的实...

    mrcode 评论0 收藏0

发表评论

0条评论

jokester

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<