What is the difference between event.target and this?
Let’s say I have
$("test").click(function(e) {
$thisEventOb = e.target;
$this = this;
alert($thisEventObj);
alert($this);
});
I know the alert will pop different value. Anyone could explain the difference? Thanks a million.
They will be the same if you clicked on the element that the event is rigged up to. However, if you click on a child and it bubbles, then
thisrefers to the element this handler is bound to, ande.targetstill refers to the element where the event originated.You can see the difference here: http://jsfiddle.net/qPwu3/1/
given this markup:
If you had this:
A click on the
<input>would alert the input, then the div, because the input originated the event, the div handled it when it bubbled. However if you had this:It would always alert the input twice, because it is both the original element for the event and the one that handled it.