微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 触发器链接点击Ajax成功

我需要触发一个链接点击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’)触发(“点击”);在另一个链接的点击事件中,如下所示:

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

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

});

Voila !,它在另一个链接的点击事件中起作用.所以,我真的很困惑,我在这里做错了什么.为什么jQuery(‘.test-link’).trigger(‘click’);不想玩Ajax成功打电话吗?

解决方法

使用时:
$(".test_link").trigger("click")
// or
$(".test_link").click()

你只是通过jQuery bind或onclick属性来执行链接的点击事件,但是它不会打开你在href中拥有的页面.

所以如果你想打开你在href中的链接,你需要像下面这样的东西:

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

我可以想到的其他原因是您正在动态获取链接,获取链接后,您不会在点击事件上添加任何处理程序. jQuery“live”可以解决问题,但是如果你知道父容器是什么,我更喜欢使用delegate.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐