唯尔半截湘妃
2016-08-30 22:01
为什么要用e.target,value,而不用$(this)
楼主很细心嘛,学习了。去查了一下资料,currentTarget、target和this
currentTarget 返回其事件监听器触发该事件的元素。
target 返回触发此事件的元素(事件的目标节点)。
this 我觉得this==currentTarget。
下面是我的demo
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>
<body>
<div id="div1" style="width:200px;height:200px;border:1px solid red;">
<input type="button" id="btn" style="width: 100px;height:30px;border:1px solid blue;">
</div>
<script>
$("#btn").click(function(ev){
console.log("currentTarget"+"-----"+ev.currentTarget);
console.log("target"+"---------"+ev.target);
console.log("this"+"-----"+this);
console.log("------------------------------");
})
$("#div1").click(function(ev){
console.log("currentTarget"+"-----"+ev.currentTarget);
console.log("target"+"---------"+ev.target);
console.log("this"+"-----"+this);
})
</script>
</body>
</html>
最主要的就是e.target是不受冒泡事件影响的,它是静态的;而this则受冒泡影响,是动态的,可以事件委托.
我改成$(this).val()也可以执行啊
this冒泡,e.target.value不冒泡
e.target 是触发,也就是你点击的元素 比如某个div
this是当前的元素,可能受冒泡的影响 比如body
e.target 是触发,也就是你点击的元素 比如某个div
this是当前的元素比如body,可能受冒泡的影响
jQuery基础(三)—事件篇
89997 学习 · 625 问题
相似问题