首页 新闻 会员 周边

Jquery如何设置一个动态新加进来的元素的位置?

0
悬赏园豆:10 [已解决问题] 解决于 2015-10-18 15:49

有没有办法捕获有新的元素被创建事件?大侠们帮帮忙

问题补充:

新元素被创建的代码段很多,新创建的元素的class属性都一样,所以我不想在每个创建元素代码段那里写一句重置位置的代码。如果可以检测到新元素被创建事件,那么我订阅一个这样的事件然后根据class遍历就可以搞定了,不用去修改原有的代码。

 

找到一个方案,但IE8不支持,这是致命伤:

变动事件:DOMsubtreeModified、DOMNodeInserted、DOMNodeRemoved、DOMAttrModified、DOMCharacterDataModified等,当底层DOM结构发生变化时触发。IE8-不支持。

空明流光的主页 空明流光 | 初学一级 | 园豆:106
提问于:2015-10-16 10:54
< >
分享
最佳答案
0

1.ie8以下另作处理,定时轮询,并且根据具体的需求,比如可能被创建的元素附加的位置,缩小轮询dom范围。

2.如果新建元素的append也是用jquery,干脆把append,before,after,empty等一干dom方法改写,触发自定义的domchange事件。

技术知识上没什么好说的,以上仅仅是工程思路,哈哈。

收获园豆:10
堡主大名花花 | 菜鸟二级 |园豆:229 | 2015-10-17 17:25

轮询,比较笨,但貌似对客户来说还是可以接受的。也算是学习了,多线程的轮询用在js里竟然也可以。

空明流光 | 园豆:106 (初学一级) | 2015-10-18 15:49
其他回答(2)
0

.bind()、.live()和.delegate()在最新jquery中有所变化,你一个个试试

 

老方法:jquery.livequery.js中.live(),这个没问题

Mr宋 | 园豆:206 (菜鸟二级) | 2015-10-16 11:15

答非所问

支持(0) 反对(0) 空明流光 | 园豆:106 (初学一级) | 2015-10-16 14:23
0

你加一个元素绑定一个事件,这个事件把自己给传过去,如(this)

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-10-16 12:13

加元素的代码是不可控的,亲。我现在要捕获哪些元素被创建了

支持(0) 反对(0) 空明流光 | 园豆:106 (初学一级) | 2015-10-16 14:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册