2014-07-01 59 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

最好使用最接近的静态元素,而不要使用正文或文档。 –