亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jQuery應用load()方法后js失效的問題分析與解決

發布時間:2020-06-17 19:24:17 來源:網絡 閱讀:5943 作者:pockry 欄目:web開發

load()方法算是最簡單的ajax了,非常方便,不過也有一些難以理解的地方。

比如不久前我出現了這樣一個問題:

我的代碼高亮是用pretty,它的特點是不破壞源代碼,用js動態使代碼著色,在載入正文后使用prettyPrint()函數使代碼高亮生效。

我在另一個頁面使用jQuery中的load()方法載入此頁面的正文,但是代碼區的高亮消失了,也就是說js代碼未運行。這是可以理解的,因為load()方法并未運行原網頁,而是將其當做數據傳輸,js根本未啟動。

但是我在后面又加上prettyPrint()也依然沒效果,再查看源代碼才發現一個重要的問題:load()方法并未改變源代碼,根本看不到我們load過來的正文內容。

我又使用find().is()來查找代碼區的<pre>標簽也顯示沒有。一段不存在的內容,應用prettyPrint()當然沒效果了。

那么,load過來的內容到底去哪兒了呢?它真的不存在于任何地方嗎?

不是這樣的。后來我想到了曾看過的一個load()方法的教程里,講的callback,這個以前我以為是針對load狀態進行的反應,比如如果load失敗可以通過這個顯示一個什么之類的。現在記起來了,當時那個教程里不是將load過來的內容淡入展現嗎?

這應該就是問題的關鍵了,于是我將prettyPrint()放入callback中,果然代碼高亮出現了。

于是我知道了,load()方法里的內容的生命周期只在這個load方法之內,過了就再也找不到了!要給其中的內容應用js,需要統統放到callback里!

具體代碼如下:

 

  1. $XX.load(url,function(){prettyPrint();}) 

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

溧阳市| 宾川县| 金阳县| 嘉鱼县| 本溪| 商都县| 大埔县| 阿城市| 云阳县| 蓝山县| 高要市| 铜鼓县| 上饶市| 乌拉特后旗| 延庆县| 东乡| 夏邑县| 永城市| 沧州市| 泰州市| 门头沟区| 罗山县| 页游| 泸定县| 青河县| 金湖县| 南宁市| 息烽县| 武威市| 博乐市| 阿拉尔市| 勃利县| 黄石市| 邛崃市| 江永县| 长沙市| 富裕县| 枣强县| 托里县| 深圳市| 丹东市|