摘要:昨天修改彈出的警告太難看了,改用對話框,然后就報了一個錯反復(fù)測試,在的模態(tài)框上彈出了的,才報這個錯的。設(shè)置選項(xiàng)為,并通過選項(xiàng)來指定主要的和次要的用戶動作。總之,問題解決了。
昨天修改alert彈出的警告太難看了,改用dialog對話框,然后就報了一個錯:
jquery-2.0.2.min.js:5 Uncaught RangeError: Maximum call stack size exceeded.
反復(fù)測試,在bootstrap的modal模態(tài)框上彈出了jQuery UI的dialog,才報這個錯的。
堆棧溢出!??!
感覺這個問題挺嚴(yán)重的,怎么調(diào)試都找不到報錯的原因,上網(wǎng)搜了一下,資料如下:
瀏覽器JS報錯Uncaught RangeError: Maximum call stack size exceeded
JS 異常: Uncaught RangeError: Maximum call stack size exceeded
歸根結(jié)底,原因是遞歸調(diào)用了,但是,如同第二個鏈接里所說的:
表面上看,是因?yàn)檫f歸次數(shù)太多導(dǎo)致內(nèi)存被耗費(fèi)太多,但是我的程序中,并沒有一處使用遞歸算法啊
我的js中同樣是沒有使用遞歸調(diào)用的情況啊,差點(diǎn)要放棄了。
問題的根源在于網(wǎng)頁中引用了兩個不同的JavaScript庫,而這兩個庫都對JavaScript原始對象的某些方法做了修改,從而導(dǎo)致出現(xiàn)了循環(huán)引用
仔細(xì)研究了下jQuery UI 實(shí)例 - 對話框(Dialog),恍然大悟,dialog本質(zhì)上也是modal。
我們這里造成報錯的原因 是 我們使用的bootstrap的modal模態(tài)框和jQuery UI dialog的確定按鈕的click事件沖突了,也就是說,問題的根源是引用了兩個不同的JavaScript庫,他們都對彈出的modal做出了修改,我兩個同時嵌套使用的時候,就造成了遞歸調(diào)用。
最終,解決辦法是將dialog的modal設(shè)置為false:
$(function() { $( "#dialog-modal" ).dialog({ height: 140, modal: false }); });
jQuery UI 實(shí)例 - 對話框(Dialog)中也說了:
模態(tài)確認(rèn)
確認(rèn)一個動作可能是破壞性的也可能是有意義的。設(shè)置 modal 選項(xiàng)為 true,并通過 buttons 選項(xiàng)來指定主要的和次要的用戶動作。
哎。。??傊?,問題解決了。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/80658.html
摘要:好多編輯器例如等都支持這樣的語法來快速的編寫代碼如何優(yōu)雅地使用把標(biāo)簽放在結(jié)束標(biāo)簽之后結(jié)束標(biāo)簽之前的差別什么是響應(yīng)式設(shè)計(jì)怎樣進(jìn)行 書籍 《JavaScriptDOM編程藝術(shù)》《JavaScript高級程序設(shè)計(jì)》《JavaScript框架設(shè)計(jì)》《JavaScript專家編程》《JavaScript Ninjia》《JavaScript語言精粹(修訂版)》《JavaScript設(shè)計(jì)模式》《J...
摘要:好多編輯器例如等都支持這樣的語法來快速的編寫代碼如何優(yōu)雅地使用把標(biāo)簽放在結(jié)束標(biāo)簽之后結(jié)束標(biāo)簽之前的差別什么是響應(yīng)式設(shè)計(jì)怎樣進(jìn)行 書籍 《JavaScriptDOM編程藝術(shù)》《JavaScript高級程序設(shè)計(jì)》《JavaScript框架設(shè)計(jì)》《JavaScript專家編程》《JavaScript Ninjia》《JavaScript語言精粹(修訂版)》《JavaScript設(shè)計(jì)模式》《J...
摘要:好多編輯器例如等都支持這樣的語法來快速的編寫代碼如何優(yōu)雅地使用把標(biāo)簽放在結(jié)束標(biāo)簽之后結(jié)束標(biāo)簽之前的差別什么是響應(yīng)式設(shè)計(jì)怎樣進(jìn)行 書籍 《JavaScriptDOM編程藝術(shù)》《JavaScript高級程序設(shè)計(jì)》《JavaScript框架設(shè)計(jì)》《JavaScript專家編程》《JavaScript Ninjia》《JavaScript語言精粹(修訂版)》《JavaScript設(shè)計(jì)模式》《J...
摘要:通過按鈕屬性顯示不同內(nèi)容當(dāng)有一堆按鈕,都要觸發(fā)相同的模態(tài)框如向好友列表中某個人發(fā)消息,只是有用戶不同,那么可以使用配合來實(shí)現(xiàn)好友列表好友列表張三張三李四李四王二王二觸發(fā)事件的按鈕解析出內(nèi)容效果圖: 我的代碼示例: &...
摘要:組件結(jié)構(gòu)頭部內(nèi)容區(qū)域尾部操作按鈕模態(tài)框結(jié)構(gòu)分為三部分,分別為頭部內(nèi)部區(qū)域和操作區(qū)域,都提供了,可以根據(jù)需要定制。調(diào)用點(diǎn)擊確定按鈕的回調(diào)處理點(diǎn)擊取消按鈕的回調(diào)處理用創(chuàng)建一個索引就很方便拿到模態(tài)框組件內(nèi)部的方法了。 基本上每個項(xiàng)目都需要用到模態(tài)框組件,由于在最近的項(xiàng)目中,alert組件和confirm是兩套完全不一樣的設(shè)計(jì),所以我將他們分成了兩個組件,本文主要討論的是confirm組件的實(shí)...
閱讀 2986·2023-04-25 17:22
閱讀 1551·2019-08-30 15:54
閱讀 1281·2019-08-30 15:53
閱讀 1797·2019-08-30 15:43
閱讀 3047·2019-08-29 12:29
閱讀 1240·2019-08-26 11:37
閱讀 3269·2019-08-23 18:02
閱讀 1613·2019-08-23 14:15