事件中e.target和e.currentTarget的区别

先看一个demo


事件中e.target和e.currentTarget的区别_第1张图片

当点击父盒子时,target和currentTarget都是father

当点击子盒子时,由于事件冒泡,会打印两次。

第一次target是son,currentTarget是son;

第二次target是son,currentTarget是father

我们可以看到,无论点击哪个盒子,target都是被点击的元素,而currentTarget有时却不指向被点击的元素。

如果将此处注释打开,点击子盒子时将只有一次打印,target和currentTarget都是son

总结: target代表当前被点击的对象(永远是触发事件的直接对象),而currentTarget代表当前正在执行这个事件的对象(有可能不是鼠标直接接触的对象)

你可能感兴趣的:(事件中e.target和e.currentTarget的区别)