问答详情
源自:6-2 jQuery事件对象的属性和方法

this和event.target。的区别

this和event.target的区别:  js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的目标DOM元素;

    这个课程里面是不是写错了     this应该是不变的啊   event.target是改变的啊

请指教下,谢谢!!!

提问者:慕勒8167199 2018-06-26 21:41

个回答

  • ckdxc
    2018-06-28 15:21:26
    已采纳

    我的理解是   this  是指 通过 $() 来的    而event.target   是 从 事件 里的 

    例如   $('ul')  this  就是 ul  然后 点击了 ul 下 的 li  触发 出了  event.target  这个  this 不会变   event.target  是由 事件发生者  来的 可变

  • 好吃的蛋包饭
    2018-08-05 11:05:14

    前面说的不太对,在事件处理程序内部,this始终等于event.currentTarget,而event.target只包含事件的实际目标。

    1. 如果直接将事件处理程序制定给了目标元素,那么this、currentTarget、target指向是相同的。如鼠标单击事件,$(#btn).click(function(){…………})由于click事件的目标是按钮,事件处理程序也制定给了按钮,所以三个值相同。

    2. 如果事件处理程序存在于按钮的父节点中,那么值是不同的。例如:

      $(body).click(function() {………………})那么此时点击按钮元素,this和event.currentTarget都指向document.body,event.target指向按钮元素。