получить элемент, вызвавший изменение события в javascript - PullRequest
7 голосов
/ 11 марта 2012

Я хочу узнать в onchange обработчике событий, который контролировал событие изменения (или размытия)я пытался использовать jQuery $(":focus") для этой цели, но

$('.some_class').change(function (e) {
    console.log(e.target);
    console.log($(':focus').get(0)); // always `undefined`.
    /* ......... other code......... */
});

Ответы [ 2 ]

6 голосов
/ 11 марта 2012
$('.some_class').change(function (e) {
console.log(e.target);
console.log($(':focus').); // just remove the .get(0)

}); удалите .get (0), вы можете получить элемент, который находится в фокусе

4 голосов
/ 11 марта 2012

В jQuery this относится к элементу с обработчиком события, а event.target, если event является параметром для вашего обратного вызова, обработчик события будет источником события, если,например, вы щелкнули дочерний элемент, и щелчок всплыл вверх.

Событие focus запускается после события размытия, поэтому будет короткий период времени, в течение которого ни один элемент не имеет фокуса.Если вам это действительно нужно, вы можете установить короткий тайм-аут, чтобы увидеть, фокусируется ли другой input через пару миллисекунд после того, как исходное изображение будет размыто.

...