林有我的jQuery的麻煩。即時通訊使用ajax登錄到我的帳戶,該inturn運行一些PHP基於設定的會話更改幾個菜單。然而,因爲頁面不會重定向,但內容更改似乎打破了頁面上的所有jQuery,直到我點擊「刷新」,並且所有jquery再次正常工作。爲什麼我的jquery只能在頁面刷新後進入?
我該如何解決這個問題?
我添加了與最新問題的代碼部分到這個js fiddle
林有我的jQuery的麻煩。即時通訊使用ajax登錄到我的帳戶,該inturn運行一些PHP基於設定的會話更改幾個菜單。然而,因爲頁面不會重定向,但內容更改似乎打破了頁面上的所有jQuery,直到我點擊「刷新」,並且所有jquery再次正常工作。爲什麼我的jquery只能在頁面刷新後進入?
我該如何解決這個問題?
我添加了與最新問題的代碼部分到這個js fiddle
這個問題的答案最終是因爲我還沒有包括手風琴jQuery腳本到,目前以拉外部包括PHP文件。
確保您使用jQuery的live功能:
$(document).ready(function() {
// Do your AJAX here
$.ajax({
// blah blah
});
// Do the rest of your functionality here:
$('a.class_name').on('click',function() {
// Change stuff when you click this link
});
});
按照上述傑米的回答。在使用諸如click之類的事件處理程序時,您只在初始頁面加載時註冊事件處理程序。任何後續加載的頁面元素都不會被註冊。
你需要的是使用委託或活來註冊你的事件處理程序。這樣你就不直接向元素註冊事件,而是向上註冊一個元素,事件將被委託給你的特定元素。在你的情況下,它將被委託給你的元素。
看看this。
使用新的'$(「選擇」)。在( 'click',function(){' – 2012-03-06 19:27:45