gpt4 book ai didi

jquery - 触发链接点击Ajax成功

转载 作者:行者123 更新时间:2023-12-03 22:22:39 24 4
gpt4 key购买 nike

我需要在 Ajax 成功时触发链接点击。我目前拥有的代码是:

jQuery.ajax({
//Ajax Options
success: function(value) {
jQuery('.parent_selector').html(jQuery(value).find('.child_selector'));
jQuery('.test-link').trigger('click');
},
error: function() {
//alert(error);
} });

Ajax 部分工作正常,我能够使用 Ajax 响应数据加载 .parent_selector div。之后,我需要触发一个链接点击,在上面的代码中我有 jQuery('.test-link').trigger('click'); 。但是,链接点击永远不会被触发。为了进行检查,我将 jQuery('.test-link').trigger('click'); 移动到 jQuery(document).ready(function() 中,看看是否该链接在页面加载时触发。但它在那里也不起作用。我尝试的下一件事是将 jQuery('.test-link').trigger('click'); 放入其中另一个链接的click事件,如下:

jQuery('section[role="main"]').on('click', '.another-link', function(e){
e.preventDefault();

jQuery('.test-link').trigger('click');

});

瞧!,它在另一个链接的点击事件中工作。所以,我真的很困惑我在这里做错了什么。为什么 jQuery('.test-link').trigger('click'); 不想与 Ajax 成功调用配合良好?

最佳答案

当您使用时:

$(".test_link").trigger("click")
// or
$(".test_link").click()

您仅通过 jQuery 绑定(bind)或 onclick 属性执行链接的 onclick 事件,但它不会打开 中的页面>href.

因此,如果您想打开 href 中的链接,您需要执行以下操作:

window.location = $(".test_link").attr("href");

我能想到的另一个原因是您正在动态获取链接,并且在获取链接后您不会在单击事件上添加任何处理程序。 jQuery“live”可以解决这个问题,但如果你知道父容器是什么,我更愿意使用delegate

关于jquery - 触发链接点击Ajax成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9703561/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com