先上结论: Event.target:触发事件的元素: Event.currentTarget:事件绑定的元素: 通过下面的例子来理解这两个属性的区别: 使用Event.target属性的例子:(我在<body>和<button>上都绑定了click事件) <body onclick="mouseEvent1()"> <button onclick="mouseEvent2()">点我</button> &…
原文:https://medium.com/@florenceliang/javascript-event-delegation-and-event-target-vs-event-currenttarget-c9680c3a46d1 In this case, at the time you call console.log(e), there's a DOM element in the currentTarget property. But sometime later, that pro…
David Posin helps you land that next programming position by understanding important JavaScript fundamentals. JavaScript is a fun, powerful, and important language with a low barrier of entry. People from all kinds of backgrounds and careers find the…
事件委托 event delegation 一.概念: 假设我们有很多个子元素,每个元素被点击时都会触发相应事件,普通的做法是给每个子元素添加一个事件监听. 而,事件委托则是给它们的父元素添加一个事件监听器,子元素上没有任何事件监听.当子元素被点击时,这个点击事件冒泡到父元素上,然后父元素上绑定的事件监听来分析和处理这是哪个子元素被点击了. 二.例子1:一个ul及几个li: <ul id="parent-list" style="border:1px solid bla…
看了几篇文章,放上来供参考 司徒正美的文章,Event Delegation Made Easy ------------------------------------------------------------------自己的理解加深印象----------------------------------------------------------------------------- What to use when For really small event handling…
简单的说,事件委托(event delegation)是在DOM上层(也就是在触发事件的元素的父元素上)定义事件的处理程序,而不是定义在触发事件的元素本身上. 首先我们来举这样一个例子:我有N个li元素,我想让点击过的li元素背景颜色都变为黄色.非常简单的一个例子是吧? 我们可以通过如下代码实现: var oBox = document.getElementById('box');var aLi = oBox.children;for(var i=0;i<aLi.length;i++){ add…
判断事件触发的元素:     var tag = window.event.target || window.event.srcElement;    if (tag.tagName.toLowerCase() == "input") {        return;    } window.event.srcElement与window.event.target 都是指向触发事件的元素,它是什么就有什么样的属性 srcElement是事件初始化目标html元素对象引用,因为事件通过元…
1.target 通过获取DOM元素 var box = document.getElementById("box"); document.box.onclick = function(){  alert(123);//123 } event对象下的target方法 :获取事件的目标,不用document.getElementById("box")即可获取目标; 但是target方法支持ie9以上的浏览器器,Chrome,ff,IE9以下的是不支持的. //W3C下…
event.target 和 event.currentTarget 的区别 举例说明: <!DOCTYPE html> <html> <head> <title></title> <style> div { margin: 1rem; padding: 1rem; } #a {background-color: #f00;} #b {background-color: #0f0;} #c {background-color: #00…
看了阮一峰老师的JavaScript 运行机制详解:再谈Event Loop和[朴灵评注]的文章,查阅网上相关资料,把自己对javascript运行模式和EVENT loop的理解整理下,不一定对,日后再看做个回顾. MDN上有张图很形象, function f(b){ var a = 12; return a+b+35; } function g(x){ var m = 4; return f(m*x); } g(21); 上面函数调g用形成了一个 frames 的栈.调用g的时候,创建了第一…