js模拟点击事件

在页面加载之后,我们经常会遇到联动的问题。这个时候就需要在页面加载后就自动触发第一个点击事件这样后面的联动才能在网页中显示出来。
在js当中可以使用
trigger方法

$("selector").trigger("click");

比如在我的代码中我先给这个ul 里面的li 添加了点击事件 然后模拟触发了这个事件。

    $(".place-classify ul").on("click","li",function(){
        var placeName = $(this).html();
       createPlaceContent(placeName) ;
    });
    $(".place-classify ul li:first-child").trigger('click');

但有的时候模拟事件并没有触发一般可能遇到两个问题:

  1. 模拟点击事件写在了点击事件的前面。
    有的人认为这个是在页面加载后才触发的尤其是写在$(function(){});当中就是先渲染在触发,但是一个页面打开先渲染的是整个页面的元素,而不是js代码,js代码还是会一条条的往下执行,那么把模拟点击写在前面的话就是先触发再声明,所以没有效果,把他移到点击事件的后面就可以了。

  2. 已经把点击事件移到了后面但还是没有触发,那么可能是异步加载的原因,由于你的网页是异步加载那么由于数据还没有处理完你就发生了点击事件,同样的道理,动态生成的元素都还没有生成,就触发了点击事件。办法就是把ajax请求改为同步请求。$.ajax({
    url:url,
    data:data,
    async:false,
    success:function(result){
    handle(result);
    },
    error:function(result){
    alert("获取数据失败");
    }
    });

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值