DOM操作、各种事件

159 阅读2分钟

1.操作DOM

1.1创建元素节点:document.createElement(' ')

var myLi = document.createElement('li')

1.2创建文本节点:documen.createTextNode(' ')

var myStr = document.createTextNode('222222222222222')

2.1增加dom(添加到指定父节点的最后):父节点.appendChild( )

oUl.appendChild(myLi)

2.2增加dom(添加到指定父节点的最后):父节点.insertBefore(要插入的新节点,插入到到那个节点前)

oUl.insertBefore(myLi, null)

2.3增加dom(添加到父节点的最前面):父节点..insertBefore(要插入的新节点,父节点.firstElementChild)

oUl.insertBefore(myLi, oUl.firstElementChild)

3删除dom:父节点.removeChild(要删除的节点)

4修改某一个节点 :父节点.replaceChild(新的节点,要被修改的节点)

2.克隆DOM

2.1想要负责的节点.cloneNode(参数布尔值)

参数布尔值:false不克隆子节点

true克隆子节点

3.获取元素偏移量

3.1获取元素相对父级:元素.offsetParent

console.log(box2.offsetParent)

3.2获取元素的偏移量:元素.offsetLeft

元素.offsetTop

4.获取元素尺寸与浏览器窗口尺寸

4.1获取元素尺寸(占地面积)

offsetWidth/Height: (实际宽度+padding+border)

clientWidth/height:(实际宽度+padding)

4.2获取浏览器窗口尺寸(计算时 会包含浏览器的滚动条)

window.innerWidth/Height

获取浏览器窗口尺寸(计算时 不会包含浏览器的滚动条)

document.documentElement.clientWidth/Height

5.JS的事件

5.1事件源.on+事件类型=事件处理函数

5.2事件源.addEventListener('事件类型',事件处理函数)

6.浏览器事件

滚动事件:load

7.鼠标事件

7.1左键单击:click

7.2双击事件:dblclick

7.3右键事件:contextmenu

7.4鼠标按下事件:mousedown

7.5鼠标抬起事件:mouseup

7.6鼠标移入事件:mouseover

7.7鼠标移出事件:mouseout

7.8鼠标移动事件:mousemove

7.9鼠标移入事件:mouseenter

7.10鼠标移出事件:mouseleave

mouseover mouseout 两个方法 移入元素和移入元素子盒子时都会触发

mouseenter mouseleave 两个方法 只会在移入元素时触发

8.键盘事件(针对document或者input)

8.1键盘抬起事件:keyup

8.2键盘按下事件:keydowm

8.3键盘按下抬起事件:keypress

9.表单事件

9.1获取焦点事件:focus

9.2失去焦点事件:blur

9.3文本框内容改变时触发:change

9.4文本框输入内容时触发:input

10.获取鼠标位置

10.1获取相对于事件源的鼠标坐标点:e.offsetX / Y

oDiv.onclick = function (e) {
            // 1. 获取 相对于 事件源 的鼠标坐标点
            
            console.log('相对于事件源 X 轴', e.offsetX)
            console.log('相对于事件源 Y 轴', e.offsetY)

10.2获取相对于页面的坐标点e.pageX / y

​
            console.log('相对于页面的 X 轴', e.pageX)
            console.log('相对于页面的 Y 轴', e.pageY)
​

10.3获取相对于浏览器窗口的坐标点:e.clientX / Y

 console.log('相对于浏览器窗口的 X 轴', e.clientX)
            console.log('相对于浏览器窗口的 Y 轴', e.clientY)

11.获取键盘按键

e.key 返回按下的按键

e.keyCode 返回按下的按键的进制码

 var inp = document.querySelector('#inp')
        inp.onkeyup = function (e) {
            console.log(e)
            if (e.ctrlKey && e.key == 'a') {
                console.log('此时按下了 ctrl健 和 a键')
            }
        }