<div id="card0">
<div id="card1">
<div id="card2">
<div id="card3">
<div id="card4">
我创造了一张牌,牌组和手牌“等级”。 我想要做的是为一组卡片创建一个事件处理程序。
for (var i = 0; i < 5; i++) {
myHand.cards[i] = myDeck.deal();
}
我还想在循环中创建事件处理程序:
$("#card"+i).on("click", cardClicked);
function cardClicked() {
alert(this);
}
有没有办法找出点击了哪个div?我试过做一个匿名函数传递事件。我试过这个,但我不知道还有什么可以尝试。
答案 0 :(得分:0)
是
只需为事件处理程序提供一个在调用它时传递的参数:
function cardClicked(e){
console.log(e.target.id);
}
请注意,您应该使用console.log()
进行调试,而不是alert()
。登录到控制台将显示元素/对象的实际结构/您正在记录的任何内容。
此外,还有一种更简单的方法来附加侦听器:
var divs = document.getElementsByTagName("div");
for(var i = 0; i < divs.length; i++){
$(divs[i]).click(function(e){
console.log(e.target.id);
});
}