有没有办法捕获有新的元素被创建事件?大侠们帮帮忙
新元素被创建的代码段很多,新创建的元素的class属性都一样,所以我不想在每个创建元素代码段那里写一句重置位置的代码。如果可以检测到新元素被创建事件,那么我订阅一个这样的事件然后根据class遍历就可以搞定了,不用去修改原有的代码。
找到一个方案,但IE8不支持,这是致命伤:
变动事件:DOMsubtreeModified、DOMNodeInserted、DOMNodeRemoved、DOMAttrModified、DOMCharacterDataModified等,当底层DOM结构发生变化时触发。IE8-不支持。
1.ie8以下另作处理,定时轮询,并且根据具体的需求,比如可能被创建的元素附加的位置,缩小轮询dom范围。
2.如果新建元素的append也是用jquery,干脆把append,before,after,empty等一干dom方法改写,触发自定义的domchange事件。
技术知识上没什么好说的,以上仅仅是工程思路,哈哈。
轮询,比较笨,但貌似对客户来说还是可以接受的。也算是学习了,多线程的轮询用在js里竟然也可以。
.bind()、.live()和.delegate()在最新jquery中有所变化,你一个个试试
老方法:jquery.livequery.js中.live(),这个没问题
答非所问
你加一个元素绑定一个事件,这个事件把自己给传过去,如(this)
加元素的代码是不可控的,亲。我现在要捕获哪些元素被创建了