2013-09-05 53 views
0

存在於jQuery的是附加一個事件像這樣的任何事件:的Onload jQuery的事件來調用的功能,並使其「活」

$("body").on("click", "#test", function() { 
    // some code here... 
}); 

那我可以附加到loadready事件,以取代:

$(document).ready(function() { 
    // Some code... 
}); 

我需要這個,因爲我在外部文件中有$(document).ready();作用域,它做了一些表單驗證,並且在我的HTML中,我通過ajax加載了一些內容,然後所有在該範圍內都不起作用。

換句話說,我希望所有在$(document).ready();逗留live在頁面上,使用像.on之類的東西。

如果我把HTML直接放在頁面中,沒有ajax,驗證工作。

有關我如何解決此問題的任何想法?

回答

1

作爲一個建議:

給驗證功能的全局訪問,然後使用AJAX回調調用此驗證功能。

+0

我該怎麼辦呢?從未聽說過javascript中的「全局訪問」。 –

+0

@WellingtonZanelli http://stackoverflow.com/questions/9284273/global-and-local-and-private-functions-javascript – fguillen

+0

關於變量是好的,但是我想要的功能是什麼? –

0

我假設id爲「test」的元素在ajax調用後附加。 然後你可以像這樣使用這個元素。

您可以在單個文件/或多個JavaScript文件中添加多個文檔。 但我建議你把你的代碼放入一個函數中,並從外部文件的document.ready範圍調用該函數。

function doSomething() 
{ 
    $("#test").on('click', function(){ 
     //do some thing here 
    }); 
} 

外部文件:

$(document).ready(function(){ 
.... 
..... 

try{ 
doSomething(); 
} 
catch() 
{ 
//this section will be hit when the method is not avavilble. 
} 
}); 
+0

'live'方法當前被刪除。請參閱:http://api.jquery.com/live/ –

+0

是的,它在最後幾個版本中被刪除。我誤解了你的問題。 – sudhAnsu63

+0

我已經更新了我的答案。你可以檢查。 – sudhAnsu63