所以基本上我用JQuery制作了一堆按钮,并希望给它们一些常见的“onclick”功能,但希望所述功能能够知道点击它的按钮的独特信息。使用下面的方法,警告消息打印出“这个错误让我想要将我的头撞到墙上10次”,无论按下按钮。什么怪,男人?谢谢你的帮助!
function createButtons()
{
for(var i=0; i<10;i++)
{
$('#Mystical_land_of_buttons').append('<button class="'+i+'">'+i+'</button>');
$('button.'+i).click(function(){gimmeYoDigits(i);});
}
};
function gimmeYoDigits(id)
{
alert("This bug makes me want to beat my head against a wall "+id+" times.");
}
答案 0 :(得分:0)
您需要使用闭包:
for(var i=0; i<10;i++) {
// ...
(function(i) {
$('button.'+i).click(function(){gimmeYoDigits(i);});
})(i);
答案 1 :(得分:0)
这是因为变量i
不再是执行click函数时的预期。您可以执行以下操作:
var btn = $('<button>'+i+'</button>');
$('#Mystical_land_of_buttons').append(btn);
btn.data('id',i).click(function(){gimmeYoDigits($(this).data('id'));});