$(this)与jquery中的e.target或event.target对比

时间:2013-09-08 12:23:27

标签: javascript jquery

何时使用$(this)和e.target?

我对$(this)没有混淆,但e.target对我来说很困惑,因为它可以执行与$(this)相同的操作。 (或者我错了?)

$(document).on('click',"div", function(){
        $(this).css('color', 'red');
    }
});

VS

$(document).on('click',"div", function(e){
        $(e.target).css('color', 'red');
    }
});

2 个答案:

答案 0 :(得分:8)

如果您点击事件被绑定的元素,它们将是相同的。但是,如果单击一个子项并且它出现气泡,则this引用此处理程序绑定的元素,e.target仍然引用事件源自的元素。

答案 1 :(得分:3)

e.target属性可以是注册事件的元素,也可以是该元素的后代。您可以将其与$(this)进行比较,以确定是否由于事件冒泡而发生了事件委派。