美文网首页
面试4:DOM

面试4:DOM

作者: 5d18ee6b5b1c | 来源:发表于2018-12-02 16:58 被阅读0次

课程思维导图

DOM.png

Q:介绍DOM事件级别?

```javascript
// DOM0
element.onclick = function () {}
------------------------------------------
// DOM2
element.addEventListener('click', function () {
    //false冒泡阶段,true捕获阶段
}, false); 
------------------------------------------
// DOM3(增加了事件类型)
element.addEventListener('keyup', function () {

}, false);
```

注:DOM1没注册跟事件相关的东西

Q:请封装事件监听和解绑的兼容写法?

```javascript
var myEventUtil = {
    addEvent : function (ele,event,func) {
        //用能力检测进行跨浏览器兼容处理
        if(ele.addEventListener) {
            //false表示冒泡事件模型
            ele.addEventListener(event,func,false);
        }else if(ele.attachEvent){
            ele.attachEvent('on'+event,func);
        }else{
            ele['on'+event]=func;
        }
    },
    delEvent : function (ele,event,func) {
        if(ele.removeEventListener){
            ele.removeEventListener(event,func,false);
        }else if(ele.detachEvent){
            ele.detachEvent('on'+event,func);//IE
        }else {
            ele['on'+event]=null;
        }
    }
}
```

Q:介绍下事件模型?

捕获、冒泡

Q:介绍下事件流?

  1. 定义:用户与浏览器当前页面的交互过程
  2. 三个阶段:捕获阶段、目标阶段、冒泡阶段

Q:DOM事件捕获的具体流程是怎样的?

window => document => html => body => ... => 目标元素

Q:Event 对象有哪些常用应用?

  1. 阻止默认事件:event.preventDefault()
  2. 阻止冒泡:event.stopPropagation()
  3. 阻止调用相同事件的其他侦听器(事件响应优先级):event.stopImmediatePropagation()
  4. 当前绑定事件的元素:event.currentTarget
  5. 当前被点击的元素:event.target

Q:如何自定义事件?

```javascript
var event = new Event('custome');
dom.addEventListener('custome', funcion () {});
dom.dispatchEvent(event);
```

Event 与 CustomEvent唯一区别:CustomEvent除了可指定事件名,还可以跟自定义参数,做指定参数

相关文章

  • 面试4:DOM

    课程思维导图 Q:介绍DOM事件级别? 注:DOM1没注册跟事件相关的东西 Q:请封装事件监听和解绑的兼容写法? ...

  • 前端面试知识点整理

    面试1:CSS布局面试2:CSS盒模型面试3:flex弹性盒布局面试4:DOM面试5:原型链面试6:面向对象面试7...

  • DOM面试

    1. DOM事件模型 冒泡 捕获 如果这个元素是被点击元素,那么执行顺序由监听顺序决定 2. 移动端的触摸事件 相...

  • XML解析

    一、XML解析 XML解析共有4种方式,分别是DOM,SAX,DOM4J,JDOM,以下只介绍DOM和DOM4J的...

  • dom4j常用方法

    要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.o...

  • Web前端JQuery面试题(二)

    Web前端JQuery面试题(二) 1.请写出jquery的语法? 2.请问什么是DOM对象? DOM对象,DOM...

  • XML解析——DOM4J

    DOM4J Dom4j是一个简单、灵活的开源库,dom4j使用接口和抽象基类,Dom4j的API相对要复杂一些但比...

  • 49.xml解析方式

    一.DOM(JAXP Crimson解析器) 二.SAX 三.JDOM 四.DOM4J 区别: 一.DOM4J性能...

  • 解析xml文件的几种技术

    解析xml的几种技术 1. dom4j 、2.sax、3.jaxb、4.jdom、5.dom 1、 dom4j d...

  • 4.使用dom4j解析xml文档(我的JavaEE笔记)

    注意:在使用dom4j解析xml文档的时候首先我们需要导入dom4j的jar包dom4j-1.6.1.jar 一....

网友评论

      本文标题:面试4:DOM

      本文链接:https://www.haomeiwen.com/subject/wgojcqtx.html