2016-09-27 67 views
1

WordPress附帶的jQuery文件位於compatibility mode。爲避免與其他庫發生衝突,我們不能使用jQuery$快捷方式。要使用我們使用的$標誌:

jQuery(document).ready(function($) { 
    $('#myid').css({'background': 'black', 'color': 'white'}); 
}); 

這是有效的。但我的問題是如何做到與窗口負載相同。自從最近的幾個項目以來,我一直面臨這個問題。所以,更好地考慮清楚概念。

jQuery(window).load(function($) { 
    $('#myid').css({'background': 'black', 'color': 'white'}); 
}); 

有了這個,我得到一個錯誤,說:$ is not a function。因此,我無法在window.load代碼塊中使用$。任何人都可以幫助我如何使用window.load內的$快捷方式?

回答

8

它被稱爲no conflict mode,而不是兼容模式。爲了得到這個工作,你必須使用closureIIFE然後,只有ready states傳遞jQuery對象作爲參數,load和其他人不會這樣做。

(function($) { 
    $(window).load(function() { 
     $('#myid').css({'background': 'black', 'color': 'white'}); 
    }); 
})(jQuery) 

如果您load已經是一個ready state裏面你可以(一般就像例如,您should not put a window load inside a ready state)直接使用它太:

jQuery(function($) { 
    $(window).load(function() { 
     $('#myid').css({'background': 'black', 'color': 'white'}); 
    }); 
}); 

並注意.load()對於這樣的任務已被棄用!您應該使用.on()

+0

非常感謝所有的信息。 –

+0

不客氣,@KiranDash – eisbehr

相關問題