原来jquery点击会失效

chenglin博客 2014年2月25日 浏览 11934 回复8

关于jquery的点击事件的比较,发现在某种情况下点击事件不管用了;将使用三种点击触发事件进行比较,可以看出一些端倪,对于开发者而言,想必是十分有用的;

我们将用到三种点击触发事件来比较,分别是:

这里我将写出两个a标签来完成数据点击的测试,网页效果如下:

可以看到两个a标签,一个名字为 a_test,一个为a_add.分别代表一下意思:

a_test直接写入网页,a_add由函数追加的代码,他们两个都有一个class为a_test;代码如下:

我将从console输出来查看两个a标签点击的结果,首先看没有点击的时候:
2
点击第一个a标签,这个是直接写入网页的:
3
点击第二个a标签,这个是代码追加的:
4
可以看到差异了吧,发现追加的第二个a标签,没有输出:

这样可以得出结论,关于网页追加的代码,是不能使用

总结一下,推测上面这个监听函数,是在网页加载的时候就指定了对象,而通过代码追加,如json追加,的元素,是不能在匹配这个事件的。
以后可以统一使用,以下的方法来避免,失效的问题:

对于这个两个方法,是元素在点击事件后才进行处理,所有使用后面两种方法,可以避免点击事件在一些未知的情况下失效…….大家可以拷贝上面的代码,指定jquery试一下~~

发表评论

电子邮件地址不会被公开。 必填项已用*标注

姓名
邮箱
网址

原来jquery点击会失效》上有8条评论

  1. 你的jquery使用有问题
    你在使用click()创建事件的时候 只是当前存在的 也就是说你只把click声明给了第一个<A>
    正确用法 $(‘.a_test’).on(‘click’,function(){});
    可能旧版的是$(‘.a_test’).live(‘click’,function(){});