javascript - 如果功能处于事件状态,如何禁用点击

标签 javascript jquery timer disabled-control

我在这里创建了一个 fiddle 函数 (http://jsfiddle.net/rhy5K/10/)。现在我想禁用按钮点击,即 play/pause 如果声音像 Get ready,5,4,3,2,1 一样播放。

我只知道如何禁用表单提交按钮,但我很困惑如何在我的例子中禁用点击 hyperlinks

使用代码示例进行说明:

我想关闭它

<a href="#" id="btn_start">PLAY</a>

单击,解释器正在执行以下代码:

var playGetReady = function (done) {
    var ids = ['audiosource', 'a_5', 'a_4', 'a_3', 'a_2', 'a_1'],
        playNext = function () {
            var id = ids.shift();
            document.getElementById(id).play();
            if (ids.length) {
                setTimeout(playNext, 1000);
            } else {
                done();
            }
        };
    playNext();
};

警告:此 JS fiddle 演示可能会在加载时播放声音

最佳答案

您可以尝试这个(更改以下功能),但不确定这是否是您想要的,也许还有其他方法可以做到这一点。

App.prototype.start = function () {
    var self = this;
    // unbind for a while
    self.$button.unbind('click', self.buttonHandler); // <--
    var start = function () {
            // start countdown
            self.intervalHandle = setInterval($.proxy(self.tick, self), 1000);
            // bind again
            self.$button.click($.proxy(self.buttonHandler, self)); // <--
            // change button text to PAUSE
            self.$button.text('PAUSE');
        };

    if (this.newTimer) {
        playGetReady(start);
    } else {
        start();
    }
};

DEMO.

关于javascript - 如果功能处于事件状态,如何禁用点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19206396/

相关文章:

jquery - 如何在向下滚动时隐藏div,然后在向上滚动时显示它?

javascript - 如何使用 jQuery 删除焦点上的输入占位符文本?

java - 如何在Android中使用Java定时器?

timer - AVR定时器编程: CTC mode vs. 正常模式

c# - 在 C# 中锁定线程

javascript - 编写函数来循环jquery样式库中的元素

php - jQuery.validator.addMethod 检查用户名

javascript - 如何在不改变时间的情况下将 Date 对象转换为 UTC?

javascript - Jquery 在行路径中水平水平制作六个图像的动画

javascript - 在 paper.js 中检测 ctrl+z(和其他控制组合)