Javascript 在Internet Explorer中每隔单击一次链接都不起作用
我注意到,当在IE中单击href设置为javascript函数的链接时,第一次单击会起作用,但第二次单击有时不会起作用。第三个可行,第四个不行。换句话说,IE只会在每次单击时触发javascript函数。如果在单击之间长时间暂停,则每次都会触发该功能。但当你点击的速度稍微快一点时,它会跳过每一次点击。还有其他人注意到这种行为吗?我在Firefox中没有得到相同的行为 以下是一些示例代码:Javascript 在Internet Explorer中每隔单击一次链接都不起作用,javascript,html,internet-explorer,Javascript,Html,Internet Explorer,我注意到,当在IE中单击href设置为javascript函数的链接时,第一次单击会起作用,但第二次单击有时不会起作用。第三个可行,第四个不行。换句话说,IE只会在每次单击时触发javascript函数。如果在单击之间长时间暂停,则每次都会触发该功能。但当你点击的速度稍微快一点时,它会跳过每一次点击。还有其他人注意到这种行为吗?我在Firefox中没有得到相同的行为 以下是一些示例代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transi
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Test</title>
<script type="text/javascript">
var count = 0;
function doClick()
{
count++;
document.frm.COUNTER.value = count;
}
</script>
</head>
<body>
<form name="frm" action="">
<input name="COUNTER" value="0"/>
<a href="javascript:doClick();">Click Here</a>
</form>
</body>
</html>
试验
var计数=0;
函数doClick()
{
计数++;
document.frm.COUNTER.value=计数;
}
非常缓慢地单击,每次计数器都会递增。即使以稍微快一点的速度点击,它也会跳过点击。IE6/7/8中控件的onclick和onmousedown事件也会发生这种情况
这是一个问题的原因,因为该应用程序是一个销售点系统,我们正在为触摸屏实现屏幕上的按键。因为键入速度太快而多次按链接/按钮/键是不可接受的。据我所知,IE的事件处理程序似乎比其他浏览器慢 我在Firefox、Chrome和IE8中进行了测试。IE肯定跑得慢了/没有点击 我没有安装IE9,但它应该比IE8更好 ---最新答案--- IE分别处理onclick和dblclick。这意味着,如果您快速单击两次,这将注册为单个dblclick事件 另一方面,Chrome将注册2个onclick事件和一个dbl click事件
因此,混合单击和双击单个元素可能会导致不同浏览器的行为截然不同。您可能会遇到双击事件
<a href="" onclick="doClick();return false;" ondblclick="doClick();return false;">
这应该可以解决问题。您是否考虑过使用现有的Javascript屏幕键盘?好的一点-请看-浏览器的行为似乎更为一致-我收回这一点-当您双击时,Chrome会记录3次点击计数,即没有。@Colin:在Chrome中运行良好,但不使用dblclick。听起来带触摸屏的销售点系统将在一个可预测的平台上。话虽如此,
似乎在这两方面都能发挥更好的作用。谢谢!这确实是一个问题,双击在不同浏览器上的处理方式不同。FF始终会触发onclick事件,即使双击也是如此。IE仅在双击的第一次单击时触发onclick。同意。这也是我在Firefox上看到的。谢谢