Я могу придумать более простые способы сделать то, что вы пытаетесь, но это сработает для вас:
РЕДАКТИРОВАТЬ: Извините, я думал, что было ясно, что я поставляю замену линии внутри вашей петли. Здесь вся действующая программа
РЕДАКТИРОВАТЬ 2: Хорошо, вот внешняя оболочка $ (document) .ready (), которой нет даже в исходном вопросе. Это было проверено. это работает. Даже на 1.3+. Это лучший ответ.
Я выставил работающую версию этой программы, которую вы можете попробовать, посетив здесь
$(function() {
for (n = 0; n < 20; n++){
$('#button' + n).bind('click', n, function (e) { newAction(e.data); });
}
});
function newAction(x){
alert(x);
}