只能说多看文档,文档,谁叫技术这东西就是更新太快了。
最直接的表现就是看完网上的教程文章后,把文章里头的代码复制过来,心想这下成了,有前人栽树,后人乘凉,然而实际上出问题了还定位不到问题,还使劲的怀疑自己是不是复制错了啊,万万没想到的是技术(jQuery版本)更新了,导致的啊。
所以,有时候折腾还是有风险的哈哈,记得多备份准没有错。
要折腾的话,起码要懂点代码基础,这样能看得懂报错,再根据错误慢慢去搜索引擎,最后根据官方文档(推荐)/文章依葫芦画瓢了。
老实说,如果最近没有去折腾一个新的功能,我估计jQuery的live方法被删除了,我是不太可能知道,毕竟平时用的比较多的,都是一些框架/库方法,而现在主流的前端框架是不推荐直接操作DOM,而是通过数据来驱动DOM的改变,当然了底层最终还是要操作DOM的,只是人家框架考虑方面就比较多,算法,性能优化..等等这些,反正我是用不上。
关于live这个方法,我看了下官方文档是说,1.7版本已弃用,1.9版本已删除,具体可点击查看。
而目前jQuery的版本都已经更新到了3.6.0,所以就不能再使用live的方法了,而官方也是推荐把live方法改成on方法,不多说了,给大家来个例子吧。
html部分代码:
<ul> <li>1</li> <li>2</li> <li>3</li> </ul>
jQuery代码:
//以下的两个方法的作用都是为了能够正确获取到将来的新增的元素 //之前的live写法 $('li').live('click',function(e){ console.log(e) }) //替换成on的写法 $(document).on('click','li',function(e){ console.log(e) })
无论是on方法还是live方法,底层原理其实就是利用了DOM事件委托机制/冒泡