target与currentTarget区别的简单讲解

来自为w3schol(http://www.w3school.com.cn/jsref/dom_obj_event.asp)上的解释为:

target    返回触发此事件的元素(事件的目标节点)。

currentTarget    返回其事件监听器触发该事件的元素。

看例子:

<div id="outer">

outer

<p>

inner

</p>

</div>

<script type="text/javascript">

(function(){

var a=document.getElementById(‘outer‘);

a.addEventListener(‘click‘,function(e){

alert(e.target.innerHTML);

alert(e.currentTarget.innerHTML);

alert(e.currentTarget === e.target);

},false);

})();

</script>

上面的示例中,当在outer上点击时,e.target与e.currentTarget是一样的,都是div;当在inner上点击时,e.target是p,而e.currentTarget则是div。

这里,当在inner上点击时,e.target是p是因为target返回触发此事件的元素,这里是对父元素div绑定事件的。所以,e.currentTarget则是div,因为它返回的是绑定该事件的元素。

时间: 2024-08-27 12:06:32

target与currentTarget区别的简单讲解的相关文章

JavaScript target与currentTarget区别

1.DOM事件绑定到父元素 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Co

Spring下面的classpath 和 classpath* 区别的简单讲解

classpath 和 classpath* 区别:classpath:只会到你指定的class路径中查找找文件;classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找. 举个简单的例子,在我的web.xml中是这么定义的:classpath*:META-INF/spring/application-context.xml那么在META-INF/spring这个文件夹底下的所有application-context.xml都会被加载到上下文中,这些包括META

jS事件:target与currentTarget区别

target在事件流的目标阶段:currentTarget在事件流的捕获,目标及冒泡阶段.只有当事件流处在目标阶段的时候,两个的指向才是一样的, 而当处于捕获和冒泡阶段的时候,target指向被单击的对象而currentTarget指向当前事件活动的对象(一般为父级). 1 <div id="outer" style="background:#099"> 2 click outer 3 <p id="inner" style=&

target与currentTarget区别

target在事件流的目标阶段:currentTarget在事件流的捕获,目标及冒泡阶段.只有当事件流处在目标阶段的时候,两个的指向才是一样的, 而当处于捕获和冒泡阶段的时候,target指向被单击的对象而currentTarget指向当前事件活动的对象(一般为父级). <div id="outer" style="background:#099">          click outer          <p id="inner&q

事件:target与currentTarget区别

target在事件流的目标阶段:currentTarget在事件流的捕获,目标及冒泡阶段.只有当事件流处在目标阶段的时候,两个的指向才是一样的, 而当处于捕获和冒泡阶段的时候,target指向被单击的对象而currentTarget指向当前事件活动的对象(一般为父级). 1 <div id="outer" style="background:#099"> 2 click outer 3 <p id="inner" style=&

target与currentTarget的区别

我的理解在下面的代码中显示,currentTarget比target来的更具体些,点那个就是哪个 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> &l

事件冒泡和事件捕获以及解释target和currenttarget的区别

冒泡和捕获的区别是冒泡事件是先触发子元素事件,再触发父元素事件,这个是冒泡.捕获是先触发父元素事件,再触发子元素事件.简单的来说,冒泡的顺序是由内到外,捕获的顺序是由外到内 举例:<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <style> #son{ width: 200px

关于js中event的target和currentTarget的区别

今天又遇到这个问题了,总是搞不清楚target和currentTarget的区别,百度搜索的时候看到一遍文章解释得很清楚,特意记录下录,以备不时之需: target与currentTarget的区别? 通俗易懂的说法: 比如说现在有A和B, A.addChild(B) A监听鼠标点击事件 那么当点击B时,target是B,currentTarget是A 也就是说,currentTarget始终是监听事件者,而target是事件的真正发出者 总结: target在事件流的目标阶段:currentT

target与currentTarget与this的区别

target与currentTarget与this的区别: target在事件流的目标阶段:currentTarget在事件的捕获.目标及冒泡阶段. 只有当事件流处在目标阶段的时候,二者的指向才是一致的. 当处于捕获和冒泡阶段的时候,target指向被单击的对象,而currentTarget指向当前事件活动的对 象(注册该事件的对象,一般为父级). this指向永远和currentTarget指向一致(这里只针对this的普通函数调用). target与currentTarget的区别: eve