javascript - 用户和脚本可以单击提交按钮两次吗?

标签 javascript

我设置了一个计时器,它将自动单击提交按钮。

用户也可以按它。

两者可以同时触发吗?

我可以在单击后禁用该按钮,但如果用户单击它并且我禁用它,似乎调用 $("#btn").click() 仍然有效。

我用谷歌搜索了这个问题,但找不到这样的问题。

上下文:为了防止 session 过期,我想在负载过重的预订网站 5 分钟后以编程方式提交表单。当我这样做时,用户也可以偶然按下提交按钮吗?

代码

setTimeout(function (){ $("#btn").click()},  5*60000); //click after 5 minutes

//这将导致页面重新加载

最佳答案

Can both be triggered at the same time?

是的,禁用和触发是两个不同的事情。

当您禁用按钮时,这将仅阻止用户通过按下该按钮来触发点击。但是,程序化点击触发器将仍然执行所有相关事件。

为了防止后续点击处理程序执行,最简单的方法是使用 one()喜欢

$(document).one('click', '#btn', function(){...});

这将在click事件最多执行一次解除绑定(bind)

关于javascript - 用户和脚本可以单击提交按钮两次吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30669102/

相关文章:

javascript - 单词中每个第一个字符和任何大写字母的正则表达式

javascript - 如何在 Javascript 中获取浏览器视口(viewport)宽度和高度并应用于 CSS ID?

javascript - 更好的幻灯片性能

javascript - 如何使用图标更改快速扩展到 Keno UI 窗口

javascript - 如果使用angularjs在html表中值为空,则显示占位符

javascript - JQuery UI 自动完成 : . 数据(...)未定义 [但仅当我添加第二个自动完成框时]

javascript - 如何在 Angular JS 中使用 ng-if 条件隐藏选项值

Javascript Unicode 转换和搜索

javascript - 使用 Freebase 建议如何根据另一个字段的选择来过滤一个字段

javascript - 当涉及 Jekyll 时,VueJS 插值不呈现