我试图弄清楚如何在 jQuery 的 click() 事件期间创建的函数中存储外部变量值。这是我现在正在使用的代码示例。
for(var i=0; i<3; i++){
$('#tmpid'+i).click(function(){
var gid = i;
alert(gid);
});
}
<div id="tmpid0">1al</div>
<div id="tmpid1">asd</div>
<div id="tmpid2">qwe</div>
所以发生的情况是事件正确附加,但“god”的值始终是“i”的最后一个递增值。我不确定在这种情况下如何设置私有变量。
您可以创建一个闭包并分配i
到闭包的局部变量。这gid
然后变量将被赋值为i
在创建闭包时而不是在函数运行时。
for(var i=0; i<3; i++){
(function() {
var gid = i;
$('#tmpid'+i).click(function(){
alert(gid);
});
})();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)