我有一個預加載器,它在jQuery v3.1.1中停止工作。jQuery v3.1.1 - 窗口加載
$(window).load(function() {
$(".loader").fadeOut("slow");
});
我將它改爲下面的代碼,但它不能正常工作。裝載機不會隱藏。只有在刷新頁面後,纔開始工作。
$(window).on("load", function() {
$(".loader").fadeOut("slow");
});
我有一個預加載器,它在jQuery v3.1.1中停止工作。jQuery v3.1.1 - 窗口加載
$(window).load(function() {
$(".loader").fadeOut("slow");
});
我將它改爲下面的代碼,但它不能正常工作。裝載機不會隱藏。只有在刷新頁面後,纔開始工作。
$(window).on("load", function() {
$(".loader").fadeOut("slow");
});
您更改的代碼似乎是正確的。 我不認爲這是因爲你對jQuery 3.1.1的更新。
但可能是因爲您的網站上的其他腳本存在錯誤,導致該腳本不再被觸發。你的網站有任何javascript錯誤嗎?
也許嘗試在jQuery實現後直接更改「load」函數的位置。
問題是因爲OP是嵌套事件。在評論中看到,他正在從文檔準備好的jq僞事件中限制加載事件。但問題是缺少這個重要的信息 –
在jQuery 3.x中刪除了jQuery加載事件。見http://api.jquery.com/load-event/
你可以這樣做,而不是:[爲我工作]
window.onload = function() {
$(".loader").fadeOut("slow");
}
OP已經在jQuery上使用相關的替代方法:'$(window).on(「load」,handler);'。順便說一句,使用'window.onload'屬性來設置處理程序是不好的,因爲使用這種方式,你只能綁定一個事件。使用'addEventListener()'DOM方法會更合適 –
@ A.Wolff你當然是對的......但是,他似乎並不知道jQuery 3.x中沒有更多的加載事件。 – Flyer53
我認爲他知道這一點,因爲他發佈替代問題本身:)否則,這仍然是一個很好的信息 –
(https://jsfiddle.net/7juqbocd/)請更新與[MCVE]證明了問題的問題。 –
我測試過一個頁面上的代碼,它工作正常。請提供更多代碼來查找問題。 –
請務必在任何其他事件中包裝它,例如文件準備就緒。查看更多信息:https://github.com/jquery/jquery/issues/3194 –