javascript - 点击时的焦点循环
问题描述
当我点击我的网络应用程序中的一个按钮时,会创建一个新的 div[contenteditable] 并设置焦点。有用。问题是,如果我非常快速地连续多次单击按钮,浏览器会吓坏并将焦点集中在所有创建的 div 上,并且永远不会在无限循环中停止。我怎样才能防止这种情况发生?
$(document).on('click', '.btn-create-div', function(e) {
$.ajax(...).done(function(data) {
$('#divs').prepend('<div contenteditable data-id="' + data.id + '">');
$('#divs').find('div[data-id="' + data.id + '"]').focus();
});
});
解决方案
这不是一个无限循环,代码将在您单击按钮时执行多次,因此如果您快速单击它,确实需要很长时间才能赶上。您可以做的是禁用单击按钮,然后在 x 秒后启用它,如果您想防止这种情况。
推荐阅读
- google-sheets - Google 表格:引用另一张表格上的表格
- centos - Cloudflare - iptables 恢复真实 ips 以限制每个 ip CentOS 7 的连接
- c# - 是否可以在 http 触发的 azure 函数内运行命令实用程序?
- ruby-on-rails - 500 内部服务器错误 - Aws::S3::Errors::AccessDenied - CarrierWave
- nginx - Nginx GET 返回 200 - 955!955是什么意思?
- laravel - 按照官方指南在 Laravel 5.3 中安装 Sentry 时出错
- ag-grid - 在固定行中设置组标签
- json - 如何访问 Class Dict 类型中的数据?
- ruby-on-rails - Rails 5.2 Rake 任务不发送邮件(尽管内部邮件工作完美)
- flutter - Flutter - 在构建期间调用 setState()