1. 程式人生 > >pageshow事件中修改dom失敗

pageshow事件中修改dom失敗

fontsize pre 執行 修改 感覺 lec javascrip cot 觸發

在移動端微信中h5頁面,點擊下方的返回按鈕,返回上一頁,頁面是不會刷新的,load事件和DOMCotentLoaded事件都不會觸發,只有pageshow是會觸發的。

我本意想在pageshow中修改頁面某個元素的樣式,但是發現總是修改失敗,我的代碼是這樣的:

window.addEventListener(‘pageshow‘, function() {
    document.querySelector(‘.con‘).style.fontSize="16px";
})

後來經過一系列的調試才發現,在pageshow事件觸發的時候,dom結構感覺都還沒有構造完畢,所以就取不到dom對象
所以,經過一系列的嘗試,代碼修改成以下:

window.addEventListener(‘pageshow‘, function() {
    setTimeout(function(){
         document.querySelector(‘.con‘).style.fontSize="16px";
    }, 1)
})

原理解析:
當pageshow觸發的時候,這個時候dom結構還沒有準備完畢,所以就加了一個延時,等到當前進程都完全執行好之後再去之獲取dom節點,這時候是能獲取的到的

pageshow事件中修改dom失敗