关于triggerHander(),trigger()后this的指向问题
来源:5-10 首页.UI组件-UiCascading(下)
王文辉
2020-05-07 23:13:41
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title></title>
</head>
<body style="background: red;">
<div class="1"></div>
<br/>
<div class="2"></div>
<br/>
<div class="3"></div>
<br/>
<div class="4"></div>
</body>
<script src="js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$('body')
.on('click',function(){
console.log(1);
var divs=$('div');
divs.trigger('abc');
})
.on('abc',function(){
debugger;
console.log(this);
})
</script>
</html>
在我debugger的位置,this指向的事body,我不是很懂
虽然abc这个函数确实是绑定在body上的事件,但是我们不是说谁调用就指向谁吗。这里是body内的click事件中divs.trigger('abc');divs中的某一个元素调用的,为什么没有指向divs中的某一个。
1回答
同学你好,谁调用指向谁说的是普通的函数,不是绑定的事件函数,而这个是给body绑定的函数,指向的是触发事件的这个元素哦。
祝学习愉快~
相似问题