我已經與Codeigniter集成鍋爐板。我正在使用codeigniter模板。當我在頁面中調用任何jQuery內聯函數時,它會在控制檯中顯示'$ is not defined'。所以我複製了jquery代碼並將它放在main.js文件中並且它工作正常。然而,當我在這個依賴於jquery插件的頁面中包含任何腳本文件時,它會向我顯示相同的jquery未定義錯誤。請幫幫我!!Codeigniter和樣板集成 - jQuery undefined問題
1
A
回答
1
@WillemLabu是正確的,在定義之前不能使用jQuery。 jQuery包含在頁面中後,您必須放置使用jQuery的腳本。
Boilerplate將腳本放在頁腳中,因爲典型的應用程序會從腳註中的外部腳本運行它們的javascript。
的解決方案是
- 將jQuery的在頭部;或
- 將jQuery放入腳中,並將內聯腳本附加到jQuery包含的對象後面。
你可以做到這一點是這樣的:
head.php
<html>
<head>
...
<!-- define a global object to attach your scripts to -->
<script type="text/javascript">APP_READY = { callbacks: []};</script>
</head>
yourView.php
<!-- add your inline scripts inside the APP_READY namespace -->
<script type="text/javascript">
// MODULE
APP_READY.callbacks.push(function() {
alert('simple example of APP_READY Callback');
});
</script>
anotherView.php
個<script type="text/javascript">
// MODULE
APP_READY.callbacks.push(function() {
var exampleModule = [];
exampleModule.init = function() {
alert('modular example of APP_READY Callback');
};
exampleModule.init();
});
</script>
foot.php
<!-- include jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<!-- execute your Object -->
<script type="text/javascript">
(function($) {
'use strict';
// Initialise the callbacks
//
for (var i =0; i<APP_READY.callbacks.length; i++) {
var callback = APP_READY.callbacks[i];
if(callback && typeof callback == 'function') {
callback();
}
}
})(jQuery);
</script>
0
JavaScript按順序運行,這意味着在嘗試和使用它之前需要包含jQuery。
確保jQuery包含在嘗試使用$()
或jQuery()
的任何其他代碼之前(上方)。
相關問題
- 1. CodeIgniter模板問題
- 2. Codeigniter - 集成tank_auth - 問題加載庫
- 3. Emberjs和jQuery UI集成問題
- 4. CodeIgniter和Wordpress集成
- 5. Codeigniter和Tomcat集成
- 6. jQuery ajaxForm「h is undefined」問題
- 7. Codeigniter和角度js集成
- 8. Vue.js和Laravel集成問題
- 9. CMS模板創建和jQuery集成
- 10. CodeIgniter模板庫問題
- 11. codeigniter模板系統問題
- 12. 集成Wordpress,Codeigniter和.htaccess
- 13. Autofac和WinForms集成問題
- 14. BeepBeep和ErlyDB集成問題
- 15. T4和MSBuild集成問題
- 16. MySQL和NetBeans集成問題
- 17. 集成codeigniter和wordpress授權
- 18. jQuery-Mobile流星樣本集成和/或集成指南
- 19. Codeigniter和RewriteRule問題
- 20. 集成PHP喜歡和不像成codeigniter
- 21. Codeigniter + ajax(jQuery)會話問題
- 22. jquery datepicker與codeigniter問題
- 23. jquery,undefined變量的問題,如何?
- 24. Codeigniter PDO集成
- 25. Drupal 7模塊jQuery腳本UNDEFINED問題
- 26. jQuery生活問題 - undefined不是函數
- 27. 將Stripe集成到MeanJs樣板
- 28. adwhirl集成問題
- 29. CLR集成問題
感謝您的快速回復。我知道它是按順序運行的。但是如果你看看HTML5 Boiler板的設計,它會加載所有的JavaScript文件和結尾。在這種情況下該怎麼辦? – Ansuman 2013-02-17 09:00:34
同樣的事情仍然適用,HTML5BP只是遵循在DOM和CSS之後加載腳本的最佳做法。重點在於,任何需要jQuery的JavaScript都需要在jQuery加載後才被包含,因爲直到那時,'$'和'jQuery'變量纔會被定義爲'undefined'。 – Labu 2013-02-17 09:20:44
我同意。但我不想用所有外部JavaScript插件調用來重載頁眉/頁腳,而是希望在必要時在頁面中包含外部插件。有什麼辦法可以做到這一點? – Ansuman 2013-02-17 09:35:12