节点操作
删除节点:
①parent.removeChild(child) 注意是父级删除子级
克隆节点:
element.cloneNode(false/true):
①false:浅度克隆,只克隆标签;
②true:代表深度克隆,既克隆标签也克隆内容
创建节点:
①document.write();特点:如果页面加载完毕后,再次触发这个方法的话,会覆盖之前内容
②element.innnerHTML:特点:效率高,结构不好查看,不方便进行事件注册
③document.createElement():特点:比innerHTML高一些,结构清晰,方便注册事件
事件高级
1.注册事件的方式:
①传统注册:btn.οnclick=function(){}
②添加监听:btn.addEventListener(‘click’,fn,flag)
flag:false 表示事件冒泡
flag:true 表示事件捕获
③简单了解:btn.attachEvent(‘onclick’,fn)
2.注销事件的方式:
①传统:btn.οnclick=null
②监听方式:btn.removeEventListener(‘click’,fn)
③了解:btn.datachEvent(‘onclick’,fn)
3.事件流的三个阶段:
①捕获阶段:从外而内传递,直到我们的目标对象
②目标阶段:当前目标
③冒泡事件:从内而外,从目标对象向外一层层冒泡
4.事件对象:
①事件对象的理解:描述这一次事件的对象,里面封装了这次事件的相关数据信息
②属性:
e.target:获取触发事件的对象
e.type:获取事件类型
e.pageX/Y:获取鼠标再页面的位置
e.clientX/Y:获取鼠标再可视窗口的位置
e.screenX/Y:获取鼠标在屏幕的位置
③:方法:
阻止冒泡:e.stopPropagation()
阻止默认行为:
- e,preventDefault()
- 传统注册的直接return false
5.事件委托:
①原理:冒泡原理
②具体:本应该给子元素绑定的事件,给父级设置,这样我们点击了子元素,就好通过事件冒泡给父级的事件,然后在通过事件对象target就能获取到目标元素