DOM等级须知
- DOM0级 : 直接在标签绑定事件方式 或者通过获取dom节点绑定事件 ```javascript <!DOCTYPE html>
box
```
#### ondblclick
```javascript
box
```
#### oncontextmenu
```javascript
box
```
#### onmousedown
```javascript
box
```
#### onmouseup
```javascript
box
```
#### onmousemove
```javascript
box
```
#### onmouseleave( 阻止冒泡)
```javascript
box
```
#### onmouseenter(阻止冒泡)
```javascript
box
```
#### onmouseover( 冒泡 )
> 指的是当我们鼠标移动到子元素、在移动会来时会**频繁触发父节点mouseover**、所以一般情况下我们都是使用**mouseenter和mouseleave**方法去做移入移出的操作
```javascript
box
```
#### onmouseout ( 冒泡 )
```javascript
box
```
### 键盘事件
#### onkeydown
```javascript
```
#### onkeypress
```javascript
```
#### onkeyup
```javascript
```
### 页面/对象事件
#### onerror
```javascript
```
#### onhashchange
```javascript
改变锚点
```
#### onload
```javascript
```
#### onpageshow
```javascript
```
#### onpagehide
```javascript
```
#### onresize
```javascript
```
#### onscroll
```javascript
复制的内容111
```
#### oncut
```javascript
复制的内容111
```
#### onpaste
```javascript
复制的内容111
```
### 打印事件
```javascript
打印的内容1
打印的内容2
<a name="H2Rzq"></a>#### onbeforeprint```javascript<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><div><div id="prints" class="prints paging"><p>打印的内容1</p><p media="print">打印的内容2</p></div><button onclick="startPrint()">开始打印</button></div></body></html><script>function startPrint(){// let dom = document.getElementById('prints');// let win = window.open('');// win.document.write(dom.outerHTML);// win.print();// win.close();window.print();}window.onbeforeprint = function(e){console.log('即将开始打印')}window.onafterprint = function(e){console.log('开始打印',e)}</script><style>.prints{width:200px;height:200px;color:red;border: 1px solid #000;}@media print {/* 去除眉角 */@page {margin: 0;}/* 分页 */.paging {page-break-after: always;}}</style>
拖拽事件
元素如果需要拖拽功能、我们需要把元素属性draggable设置为ture, draggable=”true”、拖拽分为拖拽元素和目标元素! 现在我们看看拖拽元素和目标元素所支持的事件!
拖拽元素事件 && 目标元素事件( 观察拖拽元素移动到目标元素事件)
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><div id="box1" draggable="true" style="width: 100px;height: 100px;background: red;">拖拽元素</div><div id="box2" style="width: 100px;height: 100px;background: blue;">目标元素</div></body></html><script>const box1 = document.getElementById("box1");const box2 = document.getElementById("box2");// 拖拽元素box1.addEventListener("dragstart",() =>{console.log('拖拽元素开始拖动')})box1.addEventListener("dragend", () => {console.log("拖拽元素结束拖拽")})box1.addEventListener("drag", () =>{// console.log("拖拽元素在拖拽")})// 目标元素事件box2.addEventListener("dragenter", () =>{console.log("拖拽元素进入目标元素")})box2.addEventListener("dragleave", () =>{console.log("拖拽元素离开目标元素")})box2.addEventListener("dragover", (e) =>{e.preventDefault()// console.log("拖拽元素在目标元素里面移动")})box2.addEventListener("drop", () =>{console.log("拖拽元素放入目标元素")})</script>
