gpt4 book ai didi

javascript - 如何使用 jQuery 延迟事件传播

转载 作者:行者123 更新时间:2023-11-29 10:14:00 25 4
gpt4 key购买 nike

我想在用户提交表单后离开页面前显示一条注释。

目前我正在使用这个(简化的示例代码):

$('form').submit(function(event) {
$('.note').show();

setTimeout(function() {
$('form').unbind().submit();
}, 2000);

return false;
});

这行得通,但似乎不太好。有没有其他方法,比如函数 $.delayPropagation(2000);

PS:备注会覆盖整个屏幕,所以用户在此期间将无法再次提交。

最佳答案

这是延迟操作的适当方式。

您实际上可能想先取消绑定(bind)事件以停止多次调用(您当前有一个 2 秒的窗口,他们可以在其中再次提交)。

作为标准做法,您应该只运行一次 jQuery 选择器(使用临时变量保存结果)。 $ 前缀也是命名 jQuery 变量的另一个标准。这意味着下面的代码将分别支持一个页面上的多个表单。

$('form').submit(function(event) {
var $form = $(this);
$('.note').show();
$form.unbind()
setTimeout(function() {
$form.submit();
}, 2000);

return false;
});

您必须立即返回 false 以避免阻塞浏览器。

注意事项:

  • 另一种方法是对表单发布使用 Ajax,然后延迟,然后转到新页面
  • setTimeoutubiquitous延迟代码执行的方法。

注意:我只是想在帖子中使用术语无处不在 :)

关于javascript - 如何使用 jQuery 延迟事件传播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26757221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com