javascript单击事件问题

qwqwqw408 2009-10-15 10:09:07
<script language="javascript">
var clkCount = 0;
function inputTestClick()
{
var inputTest = document.getElementById('inputTest');
inputTest.value = clkCount ;
clkCount ++;
}
</script>
<ul>
<li onmousedown="inputTestClick();">value测试</li>
<li><input type="text" id="inputTest" name="inputTest"></li>
</ul>

代码如上,当点击value测试时,调用onClick处理方法,将clkCount 变量加1,然后在inputTest中显示出来。按道理来说,这么简单的方法,应该无论点击多快,都会来得及处理,就不会说上次的点击没处理完,你就又点击了,现在机器的cpu连这点处理能力还是有的。但是在IE上(ie6,ie7)测试,发现快速点击时,会丢失一半左右的点击,即快速点击5下,结果显示为2。同样的代码,在firfox上测试,一次都没有丢失,快速点击多少次都不会。难道是破IE有什么限制?百思不得其解,望高人解答疑惑,感激不尽。。
...全文
189 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qwqwqw408 2009-10-15
  • 打赏
  • 举报
回复
补充一下,我最开始是用的onclick,不行才换的onmousedown
Objector 2009-10-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 beenz 的回复:]
这是万恶IE的老毛病了

你点得过快,他认为你一直没放开
所以得用另外个事件(键盘事件也一样)
JScript code<script language="javascript">var clkCount=0;function inputTestClick()
{var inputTest= document.getElementById('inputTest');
inputTest.value= clkCount ;
clkCount++;
}</script><ul><li onmouseup="inputTestClick();">value测试</li><li><input type="text" id="inputTest" name="inputTest"></li></ul>
[/Quote]
#1楼有道理,学习了
jol_boy 2009-10-15
  • 打赏
  • 举报
回复
学习了~
BeenZ 2009-10-15
  • 打赏
  • 举报
回复
看1楼的回复...
happynowhere 2009-10-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 beenz 的回复:]
这是万恶IE的老毛病了

你点得过快,他认为你一直没放开
所以得用另外个事件(键盘事件也一样)
JScript code<script language="javascript">var clkCount=0;function inputTestClick()
{var inputTest= document.getElementById('inputTest');
inputTest.value= clkCount ;
clkCount++;
}</script><ul><li onmouseup="inputTestClick();">value测试</li><li><input type="text" id="inputTest" name="inputTest"></li></ul>
[/Quote]
正确
qwqwqw408 2009-10-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 mubeibei 的回复:]
用onmouseup
[/Quote]

我用了onmousedown,结果是一样的。我后面就没试其他的了。。难道onmouseup可以?
MuBeiBei 2009-10-15
  • 打赏
  • 举报
回复
用onmouseup
wujinjian2008n 2009-10-15
  • 打赏
  • 举报
回复
ie 老毛病
BeenZ 2009-10-15
  • 打赏
  • 举报
回复
这是万恶IE的老毛病了

你点得过快,他认为你一直没放开
所以得用另外个事件(键盘事件也一样)

<script language="javascript">
var clkCount = 0;
function inputTestClick()
{
var inputTest = document.getElementById('inputTest');
inputTest.value = clkCount ;
clkCount ++;
}
</script>
<ul>
<li onmouseup="inputTestClick();">value测试 </li>
<li> <input type="text" id="inputTest" name="inputTest"> </li>
</ul>

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧