2014-07-01 85 views
0

我正在使用AJAX請求我的頁面的子部分。以下是請求內容的示例:在加載AJAX的新內容後添加一些jQuery

<div id="NewContentAfterPageLoad"> 
    <form> 
    ... 
    <input id="clickMe" type="submit" form="aForm" value="submit"> 
    </form> 
</div> 

<script> 
    $(document).ready(function(){ 
     $('#clickMe').on('click', '#clickMe', function(e) { 
     alert(); 
     }); 
    }); 
</script> 

因此,此內容在頁面加載時不存在。

即使我使用委託,添加這樣的jQuery也不起作用。

這是否意味着任何jQuery必須出現在頁面加載中供瀏覽器讀取?

是否有動態加載的jQuery的解決方法?

+0

你怎麼添加頁面內容。 –

+0

'#clickMe'是否是新元素?新元素必須位於'.on()'的第二個參數中。綁定處理程序的選擇器必須出現在頁面加載中。 – Barmar

+0

您請求的內容中沒有「a」。 – Barmar

回答

1

您需要將事件附加到不會動態更改的元素。你也可以用$('body')$(document)使用它們:

$('body').on('click', '#clickMe', function(e) { 
    alert('test'); 
    }); 
+0

'#clickMe'裏面沒有'a'。 – Barmar

+0

就是這樣,將刪除此評論,並在10分鐘內給你點。沒有意識到我必須將它附加到一個靜態元素。 – Juicy

+0

最好使用最接近的靜態元素,而不要使用正文或文檔。 –