我有一堆元素,我想为所有元素设置一个点击处理程序,然后根据被点击的元素做一些事情。对于这个例子,你可以让它给出一个警告,说明被点击的按钮的类。我的元素看起来像这样:<input type="button" class="numpad np-txtTP">
它们都包含在同一个元素中。在我的情况下,我想把后面的内容np-txt
添加到文本框中。
问问题
166 次
2 回答
2
document.getElementById("yourdiv").addEventListener("click",function(e) {
if(e.target && e.target.nodeName == "INPUT") {
//do something to e.target here
}
}
这称为事件委托,允许您为一个元素的多个后代绑定一次处理程序。
于 2012-10-31T15:33:39.267 回答
0
var container = document.getElementById('container');
var elements = container.getElementsByTagName('input');
for(i = 0; i < elements.length; i++){
elements(i).addEventListener('click', function() {
alert(this.className);
});
}
将为 id 元素中的所有输入元素分配一个点击处理程序,container
这将提醒他们的类名
如果您可以访问它,这也可以通过以下方式在 jQuery 中轻松完成
$(function() {
$('input[type=button]').click(function() {
alert($(this).prop('class'));
});
});
于 2012-10-31T15:48:44.863 回答