我的代碼幾乎可以說明我即將實現的內容,但只是爲了澄清...Javascript :: this.value在for循環中無法正常工作?
我想在長按(mousedown爲200ms)後返回輸入值。
它在for循環外完美工作,但在循環內部看起來好像不是。
對於this.value
它返回undefined並且對於gangina[i].value
它不返回任何內容。
這裏是的jsfiddle:
http://jsfiddle.net/hezi_gangina/nxao19oc/
這裏是我的代碼:
<input type=button value=1>
<input type=button value=2>
<script>
var hezi;
var gangina=document.getElementsByTagName("input");
alert(gangina[1].value); //THIS IS OK! :)
for(i=0;i<gangina.length;i++)
{
gangina[i].onmousedown=function()
{
hezi=setTimeout
(
function()
{
alert('this = '+this.value); // = undefined
alert('gangina['+i+'] = '+gangina[i].value); // = nothing
},200
);
}
}
</script>
這裏需要小的調整...
你應該在你的循環中聲明i變量嗎? 'for(var i = 0; i
NewToJS
2015-04-05 14:24:02