• home > webfront > SGML > web >

    target.closest妙用:UI(click/mousemove/drag/drop)事件元素查找捷径

    Author:zhoulujun Date:

    在jQuery时代,$( e target ) closest( "li ") toggleClass( "hilight ");非常常见,脱离JQuery,closest原生事件非常给力。不过需要注意的是e target与e currentTarget的区别

    首先看下MDN:https://developer.mozilla.org/en-US/docs/Web/API/Element/closest

    在jQuery时代,这个非常常见

    $( document ).bind("click", function( e ) {
        $( e.target ).closest("li").toggleClass("hilight");
    });

    closest() 方法

    需要获取点击、拖动等 (click/mouseove/dragover)触发元素的指定父元素,告别jquer还真的麻烦。但是closest() 真香!

    这个方法会从当前元素开始,遍历 DOM 树,并且返回和给定参数匹配的最近的祖先

    function closest(Element,selector){
        return Element.closest(selector); 
    }

    不过需要注意的是

    e.target与e.currentTarget的区别:

    • e.target 指向的是触发事件监听的对象(事件源)。

    • e.currentTarget 指向添加监听事件的对象(绑定事件的dom元素)。



    转载本站文章《target.closest妙用:UI(click/mousemove/drag/drop)事件元素查找捷径》,
    请注明出处:https://www.zhoulujun.cn/html/webfront/SGML/web/2019_0913_8893.html