IE 11. 如果我双击提交按钮,为什么我在重新加载页面后有 click 和 dblclick 事件

IE 11. Why have I click and dblclick events after reload page if I double click a submit button

我在提交按钮和表单上有一个简单的 html 页面和事件处理程序。事件处理函数打印以控制什么是事件应用程序。

<html>
<head>
    <script type="text/javascript" src="../js/jquery-2.1.1.js"></script>
</head>
<body>
<form id="formId" method="post">
    <input id="inpSbm" name="inpSbm" type="submit" value="SubmitTest" class="lockDoubleClick"/>
</form>
</body>
<script>
    $(document).ready(function () {
        console.log("on ready");
        $(".lockDoubleClick").each(function () {
            var btn = $(this);
            btn.click(function () {
                console.log("click")
            });
            btn.dblclick(function () {
                console.log("double click")
            });
            btn.closest('form').submit(function () {
                console.log("submit form");
            });
        });
    });
</script>
</html>

在 IE11 中,当我双击提交按钮时,我在控制台中看到以下内容:

click 
submit form
on ready
click
double click

为什么我在页面准备好后有单击和双击事件?

因为双击是计算史上最愚蠢的想法之一。

有用户可以非常快速地双击。还有一些人在时间限制内勉强进入,这是双击和两次单打之间的唯一区别。这意味着当计算机看到第一次点击时,它必须等待很长时间才能看到用户是否会再次点击。用户讨厌这个;它使界面看起来很慢。

唯一的解决方案是 'double-click' 实际点击两次应用程序。它们是相同的,除了第二个有一个小标志,表明它在双击的最后期限内到达。

如果出于各种原因您必须接受对同一对象的双击和单击,您必须能够在第二个用户实际按下按钮时反转第一次单击的效果他们迟来的双击。