91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

达州市| 金乡县| 阿鲁科尔沁旗| 兴安盟| 崇明县| 武宁县| 扶绥县| 息烽县| 安庆市| 罗源县| 深泽县| 修水县| 华阴市| 招远市| 疏附县| 景德镇市| 阿巴嘎旗| 儋州市| 轮台县| 丰镇市| 龙游县| 绵竹市| 秦安县| 罗城| 高邑县| 西峡县| 理塘县| 井研县| 云梦县| 师宗县| 都昌县| 霍山县| 饶阳县| 江川县| 平遥县| 格尔木市| 平塘县| 凤台县| 中超| 施甸县| 柳林县|