DOM题集

作者: 凉城十月 | 来源:发表于2020-10-21 23:45 被阅读0次
1.DOM事件模型是什么?
  1. 捕获
  2. 冒泡
  3. 如果这个元素是被点击的元素,那么不一定先捕获后冒泡,顺序是由监听顺序决定的
2. 移动端的触摸事件了解吗?
  1. touchstart touchmove touchend touchcancel
  2. 模拟swipe事件:记录两次移动的位置,如果后一次在前一次的右边,那么就是向右滑动。
3. 事件委托是什么?有什么好处?
  1. 事件委托,通俗地来讲,就是把一个元素响应事件(click、keydown......)的函数委托到另一个元素。
    假设父元素有4个儿子,我不监听4个儿子,而是监听父元素,看触发事件的元素是哪个儿子,这就是事件委托。
  2. 可以监听还没出生的儿子,同时也省监听器。
function listen(element, eventType, selector, fn){
  element.addEventListener(eventType, (e)=>{
    let el = e.target
    if( el.matches(selector) ){
      fn.call(el, e, el)
    }
  })
}
//有bug,但是可以通过事件委托普通面试的代码
function listen(element, eventType, selector, fn){
  element.addEventListener(eventType, (e)=>{
    let el = e.target
    while(! el.matches(selector) ){
      if(element === el){
        el = null
        break;
      }
      el = el.parentNode
    }
    el && fn.call(el, e, el)
  })
  return element
}
//工资12k的前端写的事件委托

相关文章

  • DOM题集

    1.DOM事件模型是什么? 捕获 冒泡 如果这个元素是被点击的元素,那么不一定先捕获后冒泡,顺序是由监听顺序决定的...

  • Virtual DOM 第一天

    选择题1、下面关于虚拟 DOM 的说法正确的是:• A. 使用虚拟 DOM 不需要手动操作 DOM,可以极大的提高...

  • 14、BOM知识点总结

    BOM对象: window|__ Document 文档对象 (DOM)||__ frames 框架集||__...

  • 如何交换两个DOM节点

    这是阿里面舍友的一道题,这题的本身没难度,考察对DOM的基本操作,只是当时对DOM的操作了解甚少.接下来附上我的代...

  • PHP生成的XML显示无效的Char值27消息(PHP gene

    问 题 我使用PHP库生成XML如下: $ dom = new DOMDocument(“1.0”,“utf- 8...

  • dom相关 - 收藏集 - 掘金

    深入理解滚动 scroll - 前端 - 掘金前面的话 前面两篇博文分别介绍过偏移大小、客户区大小。本文介绍元素尺...

  • Java题集

    第一题 以下代码的输出结果 解析: Base b = new Sub(); Base b =直接忽略,从 new ...

  • Leetcode题集

    283.Move Zeroes Given an array nums, write a function to ...

  • 自题集

    其一 三十功名误红尘 蓬篙空恨非仙人 悲欢随心可堪...

  • JS题集

    1.JS有哪些数据类型? JS有七大数据类型: String, Symbel, Number, Boolean, ...

网友评论

      本文标题:DOM题集

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