2011-05-21 72 views
5

我是jQuery的新手,並且陷入了一些奇怪的問題。我正在使用jQuery的changeclick方法。在我的HTML文件中使用<script>標記時,它們工作正常。jQuery不能在外部JavaScript中工作

像:

<script> 
    $("select,input").change(function() 
    { 
     // My code and some alerts 
    }); 
</script> 

當我複製在外部JavaScript代碼相同的無<script>和進口,在我的HTML它是不是在所有的工作。

是否需要在外部JavaScript代碼中使用jQuery進行任何更改?

PS:在HTML中成功調用了一些其他非jQuery函數,它們存在於相同的外部JavaScript代碼中。

+0

你如何將外部js鏈接到頁面? – Oded 2011-05-21 05:30:27

+0

使用'' – xyz 2011-05-21 05:33:17

回答

12

首先,你不想要一個< script>標記在外部JavaScript文件,如果是我是如何閱讀你的文章。

jQuery的訣竅是你的代碼被設置爲立即執行。

你想的那麼它加載時的文件已準備就緒,在像包裹你的腳本:

$(document).ready(function(){ 
    $("select,input").change(function() 
    { 
     // My code and some alerts 
    }) 
}); 

你要確保你的文件的jQuery後加載(否則$全球不會被設置)。


加法:

這是你的HTML應該是什麼樣子:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> 
<script type="text/javascript" src="jscript/myExternalJs.js"></script> 

這裏是你的JavaScript代碼應該是什麼樣子(注意,是JavaScript文件中沒有腳本標記) :

$(document).ready(function(){ 
    $("select,input").change(function() 
    { 
     // My code and some alerts 
    }) 
    // Other event handlers. 
}); 

至於你的其他腳本......它的種類取決於你在做什麼。最重要的是不要嘗試將事件監聽器掛到尚不存在的對象上,這就是我們使用document.ready的原因。

+0

是的我想從HTML文件中移除'

3

你確定jquery是在你自己的jQuery代碼之前定義的嗎?

你也應該確保使用jQuery打交道時DOM就緒:

$(document).ready(function() { 
    $("select,input").change(function() { 
     // my code and some alerts 
    }); 

    // more code here if needed, etc. 
}); 
+0

我剛剛複製了與我的HTML文件中存在的代碼相同的代碼給外部js.And可以請告訴我如何定義jQuery外部js? – xyz 2011-05-21 05:35:02

+0

@Ajinkya你不必在外部JS中定義,而只需將jquery。*。js鏈接到你的HTML。它會自動合併。 – 2011-05-21 06:04:32

+0

不要在你的外部JS中定義它,把jquery的

  • 11. jquery javascript不能在codeigniter中工作
  • 12. Javascript函數不能在jquery中工作
  • 13. jQuery和JavaScript不能在MultiView中工作
  • 14. 在外部jquery文件中的功能不工作
  • 15. jquery庫不能在外部php文件中工作
  • 16. jquery不能在外部文件中工作
  • 17. JQuery鍵入事件不能在外部js文件中工作
  • 18. javascript/jquery不能在局部視圖中工作。
  • 19. font-face不能在外部工作
  • 20. 由javascript加載的外部JavaScript有時不工作在IE中
  • 21. JQuery不能在JSP頁面中工作,但JavaScript工作正常
  • 22. 外部Jquery文件正在工作,但JQuery功能不起作用
  • 23. 調用JavaScript外部不工作
  • 24. HTML鏈接不工作外部JavaScript
  • 25. 外部鏈接不工作javascript
  • 26. 外部JavaScript驗證工作不
  • 27. 外部不在R工作
  • 28. jQuery腳本在HTML中但不在外部文件中工作
  • 29. jQuery的不工作的外部域
  • 30. 外部動畫jquery不工作 - php