启用按钮只能被点击一次异常?

时间:2013-09-27 14:57:43

标签: javascript jquery

我使用一个对话框来获取用户输入,但我发现用户可能会单击双击按钮并添加内容两次,原因是对话框淡出太慢或者用户在鼠标上单击了两次..我不知道不想调整淡出速度,相反,如何启用按钮只能点击一次?

6 个答案:

答案 0 :(得分:12)

jQuery提供了one()方法来注册只运行一次的一次性处理程序。

你可以写:

$("#yourButton").one("click", function() {
    // Add content...
});

答案 1 :(得分:6)

单击按钮后可以禁用该按钮以防止任何进一步的点击:

$('button').on('click', function() {
    $(this).prop('disabled', true);
});

答案 2 :(得分:3)

这是我的建议。如果您在退出时销毁对话框,只需取消绑定点击事件

即可
$('.my-button').on('click', function(){
    // process code
    $(this).off('click');
});

您可以阅读关于here

的信息

这是一个demo。首先不允许其他点击,但第二个会点击。

source

答案 3 :(得分:1)

这是一个Plunker,展示了如何做到这一点。您需要做的就是在按钮中添加以下行:

onClick="this.disabled = true;"

这样您的按钮HTML将如下所示:

<button type="submit" onClick="this.disabled = true;">Submit</button>

答案 4 :(得分:1)

试试这个:

    $('.myButton').click(function(){ 

        $(this).attr('disabled',true);

             ....
    })

答案 5 :(得分:0)

尝试使用CSS

$("#yourButton").one("click", function() {
     $(this).css('pointer-events', 'none');
})