我使用一个对话框来获取用户输入,但我发现用户可能会单击双击按钮并添加内容两次,原因是对话框淡出太慢或者用户在鼠标上单击了两次..我不知道不想调整淡出速度,相反,如何启用按钮只能点击一次?
答案 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。首先不允许其他点击,但第二个会点击。
答案 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');
})