Я заметил, что при нажатии на ссылку в IE, в которой для href задана функция javascript, первый щелчок будет работать, а второй - иногда нет. Третий будет работать, а четвертый - нет. Другими словами, IE будет запускать функцию javascript только при каждом нажатии. Если вы установите длинную паузу между нажатиями, она будет запускать функцию каждый раз. Но если вы нажмете немного быстрее, он будет пропускать каждый второй щелчок. Кто-нибудь еще заметил это поведение? Я не получаю такого же поведения в Firefox.
Вот пример кода:
<!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>
Нажмите очень медленно, и счетчик будет увеличиваться каждый раз. Нажмите даже в умеренно более быстром темпе, и он пропускает щелчки. Это также происходит с событиями onclick и onmousedown элементов управления в IE6 / 7 / 8.
Причина, по которой это является проблемой, заключается в том, что приложение представляет собой систему Point of Sale, и мы реализуем экранные клавиши для сенсорного экрана. Потребность нажимать ссылку / кнопку / клавишу более одного раза, потому что вы печатаете слишком быстро, недопустима.