我有一个带有jQuery的PHP文档,它侦听某些链接上的点击并使用ajax动态加载页面内容。其中一个页面中有一些标签用于嵌入动态购物车。如果我直接加载此内容,它可以工作。但是,当通过ajax加载内容时,没有任何反应,也没有发生。
Ajax代码
$.ajaxSetup({cache:false});
$("a").click(function(e){
pageurl = $(this).attr('href');
if(pageurl!=window.location) {
window.history.pushState({path: pageurl}, '', pageurl);
}
var post_id = $(this).attr("rel")
var post_content = $("#main-content").load("http://<?php echo $_SERVER[HTTP_HOST]; ?>/ajax/",{id:post_id}); // line 12
$("#main-content").load("http://<?php echo $_SERVER[HTTP_HOST]; ?>/ajax/",{id:post_id}); // line 12
return false;
});
页面嵌入代码
<div id="my-store-1001"></div>
<div>
<script type="text/javascript" data-cfasync="false" src="https://app.ecwid.com/script.js?1001" charset="utf-8"></script>
<script type="text/javascript"> xProductBrowser("categoriesPerRow=3","views=grid(10,3) list(60) table(60)","categoryView=grid","searchView=grid","id=my-store-1001","minicart_layout=MiniAttachToProductBrowser","default_category_id=0");</script>
</div>
答案 0 :(得分:1)
动态加载的代码实际上没有附加任何事件处理程序。您需要使用委托事件处理。
尝试类似:
$( document ).on( 'click', 'a', (function(e){
答案 1 :(得分:1)
$.ajaxSetup({cache:false});
$("a").click(function(e){
之后添加阻止加载的这一行,
e.preventdefault();