dom树改变监听
function unwrap(el, target) {
if ( !target ) {
target = el.parentNode;
}
while (el.firstChild) {
target.appendChild(el.firstChild);
}
el.parentNode.removeChild(el);
}
var AutoFix = true;
document.getElementById('editable')
.addEventListener('DOMNodeInserted', function(ev) {
if ( !AutoFix ) {
return;
}
if ( ev.target.tagName=='SPAN' ) {
unwrap(ev.target);
}
});
dom节点被删除,在内存中也没有了,他也就没有所谓的next previous了
引用类型一个改变,其他的一样会改变,引用的是同一个内存,就不用重复的获取了 如
child = parents.childNodes [text span span]
只要有一个子节点改变了 child就立马改变,比如去掉第二个的span,则child就变成了[text text span]
childNodes获取的是所有的子节点 children是除了text节点之外的所有元素节点
dom树改变监听的更多相关文章
- dom元素改变监听
function domChange(domId, callback) { // select the target node var target = document.getElementById ...
- Vue获取dom和数据监听
Vue获取dom对象 在js和jq中我们都能获取dom对象例如 // 获取id=1的div标签 <div id=d1>dom对象</div> // js语法 let ele = ...
- IE与DOM的事件监听
IE 事件监听 标准DOM不支持 注意几点: window.onload attachEvent detachEvent 标准DOM监听,ie不支持
- asterisk-java ami3 属性改变监听
asteriskServer.addAsteriskServerListener(new AsteriskListenerInit());//服务属性监听会自动连接服务 实现AsteriskServe ...
- 微信小程序全局变量改变监听
问题来源 最近工作需要写小程序页面,其中有个页面情况为:父页面中包含了一个组件页面,组件页面中又包含了另外一个组件页面.需求为:点击最后一个组件页面中的一个view,需要显示最外层父页面中的一个弹出层 ...
- JS学习笔记(一)DOM事件和监听
将事件绑定到元素身上的三种方法: 1.HTML事件处理程序(不推荐使用) 1 <a onclick="hide()"> 2.传统的DOM事件处理程序 即在目标DOM事件 ...
- dom 加载监听事件 及解析
document.addEventListener("DOMContentLoaded", function (_event) { console.log("初始DOM ...
- Vue之计算属性Computed和属性监听Watch,Computed和Watch的区别
一. 计算属性(computed) 1.计算属性是为了模板中的表达式简洁,易维护,符合用于简单运算的设计初衷. 例如: <div id="app"> {{ myname ...
- Vs 2015 调试ASP.NET Core修改监听端口
如何改变监听IP地址和端口?在这里找到了答案:https://github.com/aspnet/KestrelHttpSer... 把Program.cs加一行UseUrls代码如下: using ...
随机推荐
- NetBeans 设置界面语言
我就懒得吐槽TNND你就不能让用户自己选择语言?这SB中文翻译我也是醉了,尽是误导人 下面的例子用jMonkeyEngine SDK的设置为例子(本质上就是NetBeans) 英文设置: 中文设置:
- doxygen可以生成C/C++代码的文档(根据注释)
类似这样的注释(目前还没用到,先写一个笔记在这,免得忘了) 就像java的注释生成html文档一样
- UI-7-UIScrollView
#import "ViewController.h" @interface ViewController ()<UIScrollViewDelegate> { UIIm ...
- Git使用技巧(1)-- 配置【持续更新】
配置名字和邮箱 git config --global user.name "Your Name" git config --global user.email "ema ...
- Cmder 配置使用
官网下载 配置: 1.把 Cmder 加到环境变量 将Cmder.exe存放的目录添加到系统环境变量path 添加成功后,Win+r 输入cmder,可以正确打开cmder 窗口即可. 2.添加 cm ...
- Phaser 桌面和手机游戏HTML5框架
Phaser是一个流行的2D开源游戏框架,可以用来开发桌面或手机浏览器HTML5游戏,适合侧视或顶视风格: Phaser同时支持Canvas和WebGL渲染引擎,预置了完备的精灵动画.输入 管理.瓦片 ...
- Eureka 2.0 闭源--选择Consul???
在上个月我们知道 Eureka 2.0 闭源了,但其实对国内的用户影响甚小,一方面国内大都使用的是 Eureka 1.X 系列,另一方面 Spring Cloud 支持很多服务发现的软件,Eureka ...
- Unity3D学习笔记——UIScrollBar和UIScrollView使用
UIScrollBar和UIScrollView结合使用效果图如下: 一:使用步骤 1.创建一个UIScrollView 2.然后创建一个UIScrollBar 3.打开UIScrollView ...
- Python gevent学习笔记-2
在上一篇里面介绍了gevent的最主要的功能,先来来了解一下gevent里面一些更加高级的功能. 事件 事件是一种可以让greenlet进行异步通信的手段. ? 1 2 3 4 5 6 7 8 9 1 ...
- Java手记
由于腾讯的MTA只有JAVA的demo,为了测试用php实现的加密算法是否正确,所有只能运行一下Java 配置环境:http://www.runoob.com/java/java-environmen ...