this
относится к объекту, с которым вы зарегистрировали обработчик, а не к исходному источнику события.
В вашем случае this
всегда означает <body>
.
.e.target
, который относится к элементу, который непосредственно вызвал событие.
(где e
- первый аргумент функции-обработчика)