编程语言
首页 > 编程语言> > javascript – 如何处理双击网页?

javascript – 如何处理双击网页?

作者:互联网

检查我们的网络日志,我们发现大量点击是其他双击或重复点击(例如,当系统繁忙且响应不够快时).

双击SUBMIT按钮可能会导致表单处理两次(通常我们针对此进行编程,但我希望避免我们没有编程的错误),但即使双击链接也意味着服务器必须处理响应两次(通常服务器将在第一次单击时检测到“断开连接”并中止处理 – 但是我们仍然需要花费服务器时间来完成工作,这在服务器负载很重时会加剧).

话虽如此,有时候我从来没有得到过点击的响应,只有重新点击才有效.

我们看到的一个操作是误点击 – 点击链接,意识到它不是所需的链接,然后点击正确的,相邻的链接 – 显然我们仍然需要允许.

你如何处理这个/你有什么建议?通常,在整个应用程序中实现这一目标的最佳方法是什么?

1)我们可以在点击后禁用链接/按钮(可能是一段时间,然后重新启用)

2)我们可以隐藏页面的“正文” – 我们过去已经这样做了,只是离开了“横幅”窗格(在所有页面上看起来都一样),这样可以显示下一页加载的外观(但不是在某些浏览器中使用“返回”按钮可以很好地玩耍) – 这也会使错误点击的用户陷入困境

解决方法:

您可以使用委托和数据的组合来执行此操作:

$(document).delegate('a, :button', 'click', function(e) {
    var lastClicked = $.data(this, 'lastClicked'),
        now = new Date().getTime();

    if (lastClicked && (now - lastClicked < 1000)) {
        e.preventDefault();
    } else {
        $.data(this, 'lastClicked', now);
    }
});

这样可以防止不断重新绑定,因此应该有不错的性能.

标签:javascript,double-click
来源: https://codeday.me/bug/20190526/1157324.html