我有一个名为print的数组,我正在尝试为每个具有打印值id的按钮获取单独的单击事件。只有我的最后一个按钮似乎与其他按钮不同,我查看了在线示例并知道这是一个闭包问题。感谢帮助。谢谢
for(var i = 0; i < print.length; i++){
var printer = print[i];
// Watch this:
$(document).ready(function(){$('#'+printer).click((function(value) {
return function() {
alert(value);
};
})(printer));
});
}
答案 0 :(得分:4)
$(document).ready(function(){
for(var i = 0; i < print.length; i++){
var printer = print[i];
// Watch this:
$('#'+printer).click((function(value) {
return function() {
alert(value);
};
})(printer));
}
})
你的语法很棘手。你的关闭是完美的,但文件只准备一次。
答案 1 :(得分:1)
更多jQuery-ish解决方案
$(document).ready(function(){
for(var i = 0; i < print.length; i++){
var printer = print[i];
$('#' + printer).click(function() {
alert($(this).text());
});
}
});