this和event.target。的区别

来源:6-2 jQuery事件对象的属性和方法

慕勒8167199

2018-06-26 21:41

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

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

请指教下,谢谢!!!

写回答 关注

2回答

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

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

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

    好吃的蛋包饭 回复ckdxc

    可以看一下我在下面的答案

    2018-08-05 11:05:46

    共 3 条回复 >

  • 好吃的蛋包饭
    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指向按钮元素。

    好吃的蛋包饭 回复T松子

    课程是说对的。你再理解一下

    2018-11-14 20:55:22

    共 2 条回复 >

jQuery基础(三)—事件篇

jQuery第三阶段开启事件修炼,掌握对页面进行交互的操作

89997 学习 · 625 问题

查看课程

相似问题