情景:html
<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>
操做步骤:java
1. 点击按钮1:固然输出1;学习
2. 点击按钮2:会去掉第一个button标签的类名(不信能够将代码赋值,测试,审查元素)测试
3.点击按钮1:仍是输出1code
会犯这种低级错误,我以为是没有系统学习javaScript,没有深刻,停留在表层使用htm
解决方法是:事件
<script> //解除时间的绑定 $("btn-ii").click(function(){ $("btn-i").unbind(); //完美解决 }); </script>
估计也应该是:html页面在加载完成后节点就已经和事件绑定好了,类名只是一开始用来找出节点和对应时间绑定,绑定完他们就没用了。ip
在用jQuery的html()方法插html代码的时候就颇有这种感受,html里面写的类名是触发不了事件的,要用用on()方法rem