2011-09-07 19 views
0

我有一个窗体,有多个输入字段。我申请一个bind()以这种形式为这样:jQuery - 绑定到父窗体的行动,确定什么孩子触发绑定事件

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

我想,以确定其中形成场触发绑定事件触发的ID。我已经尝试使用该函数发送的Event object,但是信息似乎并不驻留在那里。例如,e.relatedTarget为空。

是否可以确定表单的哪个子元素触发了要触发的绑定事件?

回答

3

使用事件target

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

这里有一个working example

+0

谢谢,就是这样。我不知道我是如何让这个滑过我的。 –

-1

也许是这样的?

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

会downvote我的答案没有评论?无类。 –

+0

我没有downvote,但我想这与OP想要的不同有关。例如,它不会将事件绑定到'textarea'元素,只有'input'元素。 –

+0

公平点,但它是一个想法的建议,而不是一个完整的解决方案。没有迹象表明OP在表单中使用了哪些元素。 Downvotes应该是无用的答案。 –