需要快速按一个按钮才能+1值。
<html>
<head>
<script>
var a = 2;
function update() {
document.getElementById('change').innerHTML = a;
a++;}
</script>
</head>
<body>
<div id="change">1</div>
<input type="button" onclick="update()" value="TEST">
</body>
当我非常快速地点击按钮时,会有延迟。例如,按下按钮十次,但值为6.
在其他浏览器中,一切正常。
答案 0 :(得分:0)
也许问题是一个名为&#34; ondblclick&#34;对于Internet Explorer。
您可以尝试此问题的解决方案来删除该事件:
答案 1 :(得分:0)
Internet Explorer 8肯定存在延迟问题。与Oscar在回答中所说的有些一致,dblclick
事件可能会占用一些点击。如果是这种情况,我们可以预期在此期间递增甚至可以消除这个问题。果然,这也是我们处理这个事件时发现的。
(function () {
"use strict";
var clicks = 0,
result = document.getElementsByTagName( "label" )[0],
button = document.getElementsByTagName( "button" )[0];
if ( button.addEventListener ) {
button.addEventListener( "click", increment );
} else if ( button.attachEvent ) {
button.attachEvent( "onclick", increment );
button.attachEvent( "ondblclick", increment );
}
function increment () {
result.innerHTML = ++clicks;
}
}());
对于支持addEventListener
方法(Internet Explorer 9及更高版本)的IE版本,似乎不存在此问题。因此,我们实际上只需要在版本8及更低版本中使用双重绑定。
小提琴:http://jsfiddle.net/vapv60jw/1/