按钮怎么不可行

时间:2014-02-06 07:50:02

标签: javascript jquery

我有这个HTML。所以,我想要CreateWorld一次。我认为这可能与JQuery函数有关,比如disable()。但我不知道哪个。

<input type="button" value="Создать мир" onclick="CreateWorld()" class="create_button"/>

我需要按钮才能在第一次点击它时触发。我可以创建一个柜台。但我认为有任何简单的解决方案。但我不知道是什么 谢谢!

4 个答案:

答案 0 :(得分:3)

如果您正在使用jQuery,并希望调用此函数一次:

$('.create_button').one('click',function(){
    CreateWorld();
});

JS Fiddle demo

以上将允许事件处理程序触发一次。

或者:

$('.create_button').click(function(){
    CreateWorld;
    $(this).prop('disabled',true);
});

JS Fiddle demo

这将允许按钮为每次点击分配一个点击处理程序,但在点击一次后,将禁用该按钮(阻止它接收点击/用户交互)。

使用纯JavaScript(虽然需要符合标准的浏览器):

function buttonActions (){
    CreateWorld();
    this.disabled = true;
}
document.querySelector('.create_button').addEventListener('click', buttonActions);

JS Fiddle demo

参考文献:

答案 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');