2013-03-06 27 views
1

我有一個基礎索引頁面和一個大的存儲庫頁面,我從它加載需要的元素與jquery.load()函數爲了更簡潔的代碼和更小的尺寸。在我加載基本頁面中的一些部分,例如一些按鈕後,我添加到js文件中新加載的頁面項目的所有事件處理程序將無法工作。
這裏是js文件我的示例代碼:

$(document.body).on('click', '.btn', function(){ 
    var tData = $(this).text(); 
    console.log(tData) 
}) 

任何人可以幫助?
可能是我把我所有的HTML代碼放在一個地方,除了在飛行中創建它們嗎?
或者我應該在我的html的每個部分之後添加一個腳本標記?

+0

用'$( '身體')',而不是' – sdespont 2013-03-06 11:54:05

+0

您是否使用jQuery的版本較舊的然後1.7'$(document.body的)嘗試?如果是這樣的話:使用live()而不是on() – 2013-03-06 11:54:42

+0

@sdespont jQuery在所有瀏覽器中規範'document.body'; – yckart 2013-03-06 11:54:44

回答

2

一旦加載了jquery js文件,您就可以將代碼包裝在ready方法中。

$(document).ready(function() { 
    $(document.body).on('click', '.btn', function(){ 
     var tData = $(this).text(); 
     console.log(tData) 
    } 
}); 
+0

謝謝,我很愚蠢。我覺得很愚蠢!完全忘記了最簡單的部分:D – Homam 2013-03-06 11:59:19