jQuery: 以类名获取对象,删除类名对事件的影响。

情景:

<button class="btn-i">按钮1</button>
<button class="btn-ii">按钮2</button>
<script>
    $("btn-i").click(function(){
        alert(1);
    });
    $("btn-ii").click(function(){
        $("btn-i").removeClass("btn-i");
    });
</script>

操作步骤:

1. 点击按钮1:当然输出1;

2. 点击按钮2:会去掉第一个button标签的类名(不信可以将代码赋值,测试,审查元素)

3.点击按钮1:还是输出1

会犯这种低级错误,我觉得是没有系统学习javaScript,没有深入,停留在表层使用

解决方法是:

<script>
    //解除时间的绑定
    $("btn-ii").click(function(){
        $("btn-i").unbind();    //完美解决
    });
</script>

估计也应该是:html页面在加载完成后节点就已经和事件绑定好了,类名只是一开始用来找出节点和对应时间绑定,绑定完他们就没用了。

在用jQuery的html()方法插html代码的时候就很有这种感觉,html里面写的类名是触发不了事件的,要用用on()方法


你可能感兴趣的:(jQuery: 以类名获取对象,删除类名对事件的影响。)