我有这个HTML。所以,我想要CreateWorld一次。我认为这可能与JQuery函数有关,比如disable()。但我不知道哪个。
<input type="button" value="Создать мир" onclick="CreateWorld()" class="create_button"/>
我需要按钮才能在第一次点击它时触发。我可以创建一个柜台。但我认为有任何简单的解决方案。但我不知道是什么 谢谢!
答案 0 :(得分:3)
如果您正在使用jQuery,并希望调用此函数一次:
$('.create_button').one('click',function(){
CreateWorld();
});
以上将允许事件处理程序触发一次。
或者:
$('.create_button').click(function(){
CreateWorld;
$(this).prop('disabled',true);
});
这将允许按钮为每次点击分配一个点击处理程序,但在点击一次后,将禁用该按钮(阻止它接收点击/用户交互)。
使用纯JavaScript(虽然需要符合标准的浏览器):
function buttonActions (){
CreateWorld();
this.disabled = true;
}
document.querySelector('.create_button').addEventListener('click', buttonActions);
参考文献:
答案 1 :(得分:1)
你可以使用jQuery .one()
它只会听一次点击事件
HTML:
<input type="button" value="Создать мир" class="create_button"/>
JQUERY:
$('input.create_button').one('click',CreateWorld);
答案 2 :(得分:1)
尝试
$('.create_button').on('click',function(){
CreateWorld();
$(this).attr('disabled','disabled');
});
答案 3 :(得分:1)
$('.create_button').on('click',function(){
if($(this).hasClass('disabled')) return;
CreateWorld();
$(this).addClass('disabled');
});
所以稍后如果你正在进行ajax调用你可以删除类以使按钮工作
onSuccess:$('。create_button')。removeClass('disabled'); onFaulure:$('。create_button')。removeClass('disabled');