Ajax加载了页面的一部分——如何使加载的内容中的链接工作

Ajax loaded part of a page - how do I make links in the loaded content work?

本文关键字:加载 何使 链接 工作 一部分 Ajax      更新时间:2023-09-26

我将basketpage的一部分加载到页眉中的手风琴div中。这工作得很好,并在一个漂亮的下拉列表中显示了我的篮子。

我需要解决的最后一个问题是让加载内容中的按钮工作。有可能写一个回调使这些工作吗?我甚至不知道该在谷歌上搜索什么。。

这就是在加载的内容中设置按钮的方式:

<a href="" trg="" name="_ec_oie2" id="_ec_oie2" class="action actionbasket checkout" onclick="if( UI.pb_boolean(this, 'click') ) {} return false;">checkout</a>

我用来加载内容的脚本:

 $('.dcjqg-accordion ul.sub-menu').load('/m4n?seid=etailer-basket div#centerbox.itembox.centerbox');

使用.load()的回调函数。

$('.dcjqg-accordion ul.sub-menu').load('/m4n?seid=etailer-basket div#centerbox.itembox.centerbox', function() {
  $("#_ec_oie2").on("click", function() {
    if (UI.pb_boolean(this, 'click')) { }
    return false;
  });
});
<a href="#" trg="" name="_ec_oie2" id="_ec_oie2" class="action actionbasket checkout">checkout</a>

您需要为事件使用一个子选择器。您可以将一个事件附加到.sub-menu元素,该元素将对通过ajax加载的内容进行激发。以下内容可能有效:

$(".dcjqg-accordion ul.sub-menu").on("click", ".action.actionbasket.checkout", function() {
    if( UI.pb_boolean(this, 'click') ) {}
    return false;
});

请注意on方法的第二个参数。它是一个选择器,用于查看单击事件的目标。我使用了.action.actionbasket.checkout,因为这是您的a标签上的内容。

这段代码可能不完全有效,但这应该有助于你朝着正确的方向前进。

以下是指向on方法的jQuery文档的链接:https://api.jquery.com/on/