美文网首页
DOM学习随笔

DOM学习随笔

作者: 吴一晏 | 来源:发表于2019-07-16 20:40 被阅读0次
  1. 必考:事件委托
    1. 错误版

       ul.addEventListener('click', function(e){
           if(e.target.tagName.toLowerCase() === 'li'){
               fn() // 执行某个函数
           }
       })
      
      

      bug 在于,如果用户点击的是 li 里面的 span,就没法触发 fn,这显然不对。

    2. 高级版

       function delegate(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
         }
      
      

      思路是点击 span 后,递归遍历 span 的祖先元素看其中有没有 ul 里面的 li。

  2. 曾考:用 mouse 事件写一个可拖曳的 div
    参考文章:写一个能拖拽的div

相关文章

  • DOM学习随笔

    必考:事件委托错误版 ul.addEventListener('click', function(e){ ...

  • Javascript 高级(二)

    DOM简单学习: 事件简单学习 BOM: DOM: 事件监听机制:

  • JavaScript-DOM访问方式

    学习JavaScript,少不了学习JavaScript中的DOM操作,本系列文章将会从DOM简介开始,讲解DOM...

  • Day10--DOM&BOM

    DOM简单学习:为了满足案例要求 事件简单学习 BOM DOM 事件监听机制

  • 19.DOM 进阶

    学习要点: 1.DOM 类型2.DOM 扩展3.DOM 操作内容 DOM 自身存在很多类型,在 DOM 基础课程中...

  • DOM学习

    1·什么是 DOM? DOM 是 W3C(万维网联盟)的标准。 DOM 定义了访问 HTML 和 XML ...

  • DOM学习

    DOM文档对象模型 *这是个列表+这是另一个列表

  • DOM学习

    DOM:是文档对象模型,是一套操作HTML和XML文档的API DOM的作用:

  • DOM学习

    我们只有通过DOM节点,才能对HTML文档进行操作性访问,而且注意:所有 HTML 元素被定义为对象。所有JS操作...

  • DOM学习

    一些常用的 HTML DOM 方法:getElementById(id) - 获取带有指定 id 的节点(元素)a...

网友评论

      本文标题:DOM学习随笔

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