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