jQuery - связывает действие с родительской формой, определяет, какой дочерний элемент вызвал событие связывания. - PullRequest
0 голосов
/ 07 сентября 2011

У меня есть форма с несколькими полями ввода. Я применяю bind() к этой форме следующим образом:

$("#form-id").bind('keyup change', function(e) {
   //Run some other code
   alert('here');
});

Я бы хотел определить идентификатор поля формы, которое вызвало событие привязки к событию. Я пытался работать с объектом Event , отправленным на функцию, однако, похоже, информация там не находится. Например, e.relatedTarget равно нулю.

Можно ли определить, какой дочерний элемент формы вызвал событие привязки, которое должно быть запущено?

Ответы [ 3 ]

3 голосов
/ 07 сентября 2011

Используйте событие target:

$("#form-id").bind('keyup change', function(e) {
    var targetId = e.target.id;
});

Вот рабочий пример .

2 голосов
/ 07 сентября 2011

http://api.jquery.com/event.target/ - event.target должно быть тем, что вы хотите.

0 голосов
/ 07 сентября 2011

Может, как-то так?

$('#form-id input').bind('keyup change'), function(e) {
    alert($(this).attr('id'));
}
...