Jquery无法通过ajax创建.ajax第二个链接

Jquery无法通过ajax创建.ajax第二个链接,jquery,navigation,Jquery,Navigation,我在一个单页网站上有以下代码: <section class="block" id="panel1"> </section> <section class="block" id="panel2"> <div class="loadcontent"> <div class="vcard"> [content here] <a href="detail1.html">Pro

我在一个单页网站上有以下代码:

    <section class="block" id="panel1">
    </section>
    <section class="block" id="panel2">
    <div class="loadcontent">
    <div class="vcard">
    [content here]
    <a href="detail1.html">Proceed to detail level1</a>
    </div>
    </div>
    </section>
    <section class="block" id="panel3">
    <div class="loadcontent">
    <div class="vcard">
    [content here]
    </div>
    </div>
    </section>
html与detail1相同,但内容模板(和数据)不同。当我启动第一个链接时,它可以正常工作并加载detail1.html,但当我在detail1.html中单击detail2.html时,它会导致新页面(ajax不工作)。我认为$.on()正在“侦听”dom上的每个附加事件,正确的方法是什么

我还尝试使用另一个.on for
.closeme
链接,但它不起作用,它将我带到文档的顶部


有人能解释一下吗?

因此,实际上我找到了答案,在这里,人们的提问有所不同

而不是
$(\u选择器)

它需要
$(文档)

如果要生成
块,则不会为它们设置事件处理程序。请记住,当使用
上的
进行委托时,if只能将事件处理程序附加到DOM中当前存在的元素。如果不知道要添加哪些元素,只需使用
$(document).on()

作为建议,您不必总是使用委托事件处理程序;在将新元素插入dom后,您可以直接向新元素添加新的事件处理程序。这是事实,但我正在生成块,这取决于它们是否具有链接(第二级/第三级/第四级),这是我用作蓝图的纯html示例,我希望有一个全球性的解决方案,而不是每个部分都有一个。谢谢,我刚刚找到了,但你得到了答案。:)
<script>
jQuery(function($) {
                $(".loadcontent").on("click","a",function(ev) {                   
                    ev.preventDefault();
                    var $el = $(this);
                    var $lc = $el.closest(".loadcontent");
                    URLtarget = $el.attr("href");

                    //alert("URL:"+URLtarget+"\nZIndex:"+zindex+"\nATTR:"+$el.className);
                    $.ajax({
                        url: URLtarget, 
                        data: {},
                        type: 'post',
                        error: function(XMLHttpRequest, textStatus, errorThrown){
                            alert('status:' + XMLHttpRequest.status + ', status text: ' + XMLHttpRequest.statusText);
                        },
                        success: function(data){
                            $lc.find(".vcard").fadeOut(1000,function() {                                
                            });                             
                            $lc.append(data);
                        }
                    });
                });
});
    <div class="vcard">
    <div><a href="#" class="closeme"> &times; CLOSE </a></div>
    [content here]
    <a href="detail2.html">Proceed to detail level1</a>
    </div>