何时使用 $(this) 和 e.target?
我对 $(this) 没有混淆,但 e.target 对我来说令人困惑,因为它可以执行与 $(this) 相同的操作。(或者我错了?
$(document).on('click',"div", function(){
$(this).css('color', 'red');
}
});
与
$(document).on('click',"div", function(e){
$(e.target).css('color', 'red');
}
});
如果您单击事件绑定到的元素,它们将是相同的。但是,如果单击子项并冒泡,则this
引用此处理程序绑定到的元素,e.target
仍引用事件发起的元素。
e.target 属性可以是注册事件的元素,也可以是该元素的后代。您可以将其与 $(this) 进行比较,以确定事件委派是否由于事件冒泡而发生。