您的位置:首页 > Web前端 > JavaScript

JavaScript target 和 currentTarget 区别

2013-05-22 11:07 513 查看
target(IE下为scrElement):在W3cschool中解释为:返回触发此事件的元素,(事件的目标节点),意思就是说是哪个HTML元素触发了这个事件。

currentTarget:在W3cschool中解释为:返回其事件监听器触发该事件的元素,意思是当前事件发生在哪个元素

<script>
function doSomething(e) {
if (!e) e = window.event;
alert(e.currentTarget.id);
}
window.onload = function(e) {
if (!e) e = window.event;
var test1 = document.getElementById("test1");
var test2 = document.getElementById("test2");
test1.addEventListener("click", doSomething, false);
test2.addEventListener("click", doSomething, false);
}
</script>

<div id="test1">
<p id="test2">This is a test!</p>
</div>
当用户点击元素p的时候,doSomething()会被执行两次,但是你怎么知道当前是哪个元素在处理点击事件,target/srcElement都指向元素p,而currentTarget会指向当前处理事件的元素,所以先
 然后再:

 currentTarget指向了当前执行事件的元素。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息