班大人
2016-10-26 23:07
alert(e.target.textContent)
alert(this.textContent)
这两者有什么区别吗?还是它们在实战中都有各自的意义?
有
第一个e是触发这个事件的本身元素(可以看做对像),第二个this这个执行这个方法的对像(一、如果这个事件会冒泡,他的父级也有这个事件,那么这个元素本身会先执行这个函数,然后父亲会执行。二、如果采用了事件委托,那么,this就是受委托人,e是委托人)
如果扫行这个方法的对像就是触发这个事件本身元素那么他们的结果是相同的,(只有在事件不具有冒泡性质并且这个事件的本身元素并没有把事件委托给父级对像时才可以保证这种情况,)
this是可变的,谁调用了“我“,this就指向谁,但e.target是指直接触发事件的那个对象,不管冒泡,如,你在一个div中点击一个按钮,按钮和div都有点击事件,e.target就是指你直接点击的那个按钮,而不是div
jQuery基础(三)—事件篇
89997 学习 · 625 问题
相似问题