关于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回答

好帮手慕糖

2020-05-08

同学你好,谁调用指向谁说的是普通的函数,不是绑定的事件函数,而这个是给body绑定的函数,指向的是触发事件的这个元素哦。

祝学习愉快~

0

0 学习 · 14456 问题

查看课程