使用 this.value 作为参数 onload?
using this.value as parameter onload?
<!DOCTYPE html>
<html onmouseup="end()">
<head>
<meta charset="UTF-8">
</head>
<script>
var counter;
var count = 0;
window.onload=function()
{
var x=document.getElementsByClassName('banana')
var i;
for (i = 0; i < x.length; i++)
{
x[i].onmousedown = debounce(function()
{
start(this.className,this.value); //////if i put '1' instead of this.value it works
}, 550);
}
}
function debounce(a, b)
{
var timer;
return function()
{
clearTimeout(timer);
timer = setTimeout(function()
{
a();
}, b);
};
}
function start(clicked_className,cha)
{
counter = setInterval(function()
{
add(clicked_className,cha);
count++;
},90);
}
function end()
{
clearInterval(counter);
}
function add(clicked_className,cha)
{
window.document.numeri.outpu.value =
window.document.numeri.outpu.value + cha;
}
</script>
<body>
<form name="numeri">
<input type="text"name="outpu">
<input type="button"id="apple"class="banana"value=" Click & Hold "onmouseleave="end()">
</form>
</body>
</html>
this.className,this.value
我想问题就在这里,因为如果我用“1”交换 this.value,它就可以工作。
在这种情况下,this.value and/or this.className 有什么问题?
还有可能有更优雅的方法来添加按钮按下的初始延迟,然后在迭代之间添加延迟?
在您的函数中 this
引用 window.onload
没有任何 value
的函数。我猜您想使用 x[i].value
而不是 this.value
.
<!DOCTYPE html>
<html onmouseup="end()">
<head>
<meta charset="UTF-8">
</head>
<script>
var counter;
var count = 0;
window.onload=function()
{
var x=document.getElementsByClassName('banana')
var i;
for (i = 0; i < x.length; i++)
{
x[i].onmousedown = debounce(function()
{
start(this.className,this.value); //////if i put '1' instead of this.value it works
}, 550);
}
}
function debounce(a, b)
{
var timer;
return function()
{
clearTimeout(timer);
timer = setTimeout(function()
{
a();
}, b);
};
}
function start(clicked_className,cha)
{
counter = setInterval(function()
{
add(clicked_className,cha);
count++;
},90);
}
function end()
{
clearInterval(counter);
}
function add(clicked_className,cha)
{
window.document.numeri.outpu.value =
window.document.numeri.outpu.value + cha;
}
</script>
<body>
<form name="numeri">
<input type="text"name="outpu">
<input type="button"id="apple"class="banana"value=" Click & Hold "onmouseleave="end()">
</form>
</body>
</html>
this.className,this.value 我想问题就在这里,因为如果我用“1”交换 this.value,它就可以工作。
在这种情况下,this.value and/or this.className 有什么问题?
还有可能有更优雅的方法来添加按钮按下的初始延迟,然后在迭代之间添加延迟?
在您的函数中 this
引用 window.onload
没有任何 value
的函数。我猜您想使用 x[i].value
而不是 this.value
.