源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

javascript dom操作之cloneNode文本节点克隆使用技巧

  • 时间:2021-02-07 17:03 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:javascript dom操作之cloneNode文本节点克隆使用技巧
true:完全的复制一个节点,什么叫完全呢,就是复制一切,包括他的子节点,以至于文本节点,凡是有的,一律克隆,所谓完全 false:只克隆当前节点,不克隆任何的子节点,当然也不会克隆他所包裹的文本,因为任何文本都有指向他的节点(文本节点) 当然有时候两者是可以通用的哦,如果要复制的节点没有任何的子节点,这是二者全等;比如 img... 为了让大家理解的更为深刻,举个小例子吧:
[url=http://www.1sucai.cn/article/23421.htm]如需引入外部Js需刷新才能执行[/url]]
在ie和ff点击第一个div都会触发alert,关键是第二个div,在ff不会触发,而ie就会。 当然这个是不是bug还不清楚,或许attachEvent本来就是这样设计的也说不定。 但第一版就是由于这个bug,而没有用cloneNode。 在找解决方法之前,再扩展这个问题,看看直接添加onclick事件会不会有同样的bug。 首先测试在元素里面添加onclick:
[Ctrl+A 全选 注:[url=http://www.1sucai.cn/article/23421.htm]如需引入外部Js需刷新才能执行[/url]]
结果在ie和ff都会复制事件。 再测试在js添加onclick:
[Ctrl+A 全选 注:[url=http://www.1sucai.cn/article/23421.htm]如需引入外部Js需刷新才能执行[/url]]
结果在ie和ff都不会复制事件,看来只有attachEvent会引起这个bug。 下面是解决方法: 用John Resig在《精通JavaScript》推荐的[url=http://dean.edwards.name/weblog/2005/10/add-event/]Dean Edwards写的addEvent和removeEvent方法[/url]来添加/移除事件。 它的好处就不用说了,而且它能在ie解决上面说到的cloneNode的bug。 因为它的实现原理是在ie用onclick来绑定事件,而上面的测试也证明用onclick绑定的事件是不会被cloneNode复制的。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部