2012-10-10 25 views
0

我在每頁的頁腳都有一個「Go全屏」鏈接。在document.ready()中,我有一個代碼需要在點擊此鏈接時執行。還有另外兩個鏈接通過$ .ajax調用從此頁上的下一頁和上一頁獲取內容。內容加載正常,但一旦處理了ajax調用,「去全屏」鏈接停止工作。本質上,document.ready()中的click事件不會被調用。如何使一個位於document.ready()中的代碼在ajax調用之後始終工作。

代碼

$.ajax({ 
    url: $j('#prev a').attr('href'), 
    success: function(data) { 
       data=$j(data).find('.container > .row'); 
       $j('.container').html(data); 
       $j("#go-fullscreen").bind('click'); 
      } 
    }); 
+0

爲什麼使用'$ .ajax'但是'$ j(「selector」)'? '$'和'$ j'有什麼區別? – temporalslide

+0

$ j只是爲jquery不衝突。 – JMDee

回答

2

當你這樣做;

$j("#go-fullscreen").bind('click'); 

您沒有綁定到任何特定的事件處理函數,因此沒有發生點擊。您需要指定您希望在點擊時執行的功能。詳細信息請參見jQuery doc

$j("#go-fullscreen").bind('click', function() { /* your code here */}); 
+0

感覺很愚蠢。它正在工作! – JMDee

1

既然你沒有張貼任何代碼,我正在做一些假設。聽起來像是在動態加載/更改頁腳內容。此外聽起來像你使用類似但是把點擊:

$('a').click(function() { //... });

如果這都是真的,你想改變你如何連接最多的事件。看看.on

$('.container').on('click', '#go-fullscreen', function() { //... });

+0

感謝您的回答。我會查找'.on'。我已經添加了我的代碼。 – JMDee

+0

你也可以在頁面上發佈HTML標記嗎?另外,你正在使用.bind,但根本不給它回調。 – Gromer

+0

是的,包含頁面上幾乎所有內容的整個'.container'的數據在ajax調用中發生了變化。 – JMDee

相關問題