【问题标题】:How to block/shut down click action for 1 second如何阻止/关闭点击操作 1 秒
【发布时间】:2013-01-22 15:04:42
【问题描述】:

我有一些问题,我需要阻止/关闭一些点击操作一段时间。我想要做的是在点击后触发所有操作,但在处理此操作时阻止此点击。所以这是我的代码,谢谢帮助:

carousel_controls_buttons.live('click', function(e){
    carousel_controls_buttons.attr('disabled', 'disabled');
    setTimeout(function(){
        e.preventDefault();
        $(xml).find("main_menu").each(function (){
           // some actions
        });
        carousel_controls_buttons.removeAttr('disabled');
    }, 450);
});

【问题讨论】:

  • 你使用.live的方式很奇怪。它也可能是 .click 在这种形式中,它不会正确处理动态元素,除非在添加新元素时更新 carousel_controls_buttons 变量,此时您可以在那里绑定事件而不是使用 live。
  • 我能问一下你为什么要首先阻止吗?
  • 为什么不禁用按钮一秒钟呢?
  • 您阻止默认操作为时已晚,您必须从外部setTimeout 执行此操作。
  • 您的代码按原样工作。你的问题到底是什么?看起来你在问如何做你的代码已经在做的事情。 jsfiddle.net/m2QhK/1

标签: javascript jquery click preventdefault


【解决方案1】:

我假设你想要这样的东西:

$(document).ready(function () {
    carousel_controls_buttons.attr('disabled', 'disabled');
    setTimeout(function(){
        carousel_controls_buttons.removeAttr('disabled');
    }, 1000);

    carousel_controls_buttons.live('click', function(e){
        e.preventDefault();
        $(xml).find("main_menu").each(function (){
        // some actions
        });
    });
});

【讨论】:

    猜你喜欢
    • 2014-02-12
    • 2016-04-07
    • 1970-01-01
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    • 2016-05-16
    • 1970-01-01
    • 2019-10-02
    相关资源
    最近更新 更多