在委托机制中,this指向的是谁
老师的这个例子中this指向的是谁?
老师的这个例子中this指向的是谁?
2018-06-20
在事件处理程序内部,this始终等于event.currentTarget,而event.target只包含事件的实际目标。
如果直接将事件处理程序制定给了目标元素,那么this、currentTarget、target指向是相同的。如鼠标单击事件,$(#btn).click(function(){…………})由于click事件的目标是按钮,事件处理程序也制定给了按钮,所以三个值相同。
如果事件处理程序存在于按钮的父节点中,那么值是不同的。例如:
$(body).click(function() {………………})那么此时点击按钮元素,this和event.currentTarget都指向document.body,event.target指向按钮元素。
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("body").on("click", ".test",function(){
alert(JSON.stringify($(this)));
this.a = 'aaa'
$('test')
alert(JSON.stringify($('.test')[0].a)); /// aaa
});
});
</script>
</head>
<body>
<p class="test">点击这个段落。</p>
</body>
</html>
举报