Javascript 禁止在单击元素后单击该元素

Javascript 禁止在单击元素后单击该元素,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个按钮,可以保存用户编辑的内容。我不希望他们多次点击save按钮,因为它会在服务器上造成负载。我想在他们点击按钮后禁用它。 以下是我尝试过的(尽管不起作用): 问题是用户仍然可以多次单击该元素。 我如何解决这个问题 编辑:对不起,我忘了提到我想在onclick代码完成执行后启用click。您可以解除click处理程序的绑定,但我会使用。根据@ShankarSangoli的回答(+1),一个 有一个已禁用的属性: 试试这个 $("#save").one('click', function()

我有一个按钮,可以保存用户编辑的内容。我不希望他们多次点击save按钮,因为它会在服务器上造成负载。我想在他们点击按钮后禁用它。 以下是我尝试过的(尽管不起作用):

问题是用户仍然可以多次单击该元素。 我如何解决这个问题


编辑:对不起,我忘了提到我想在onclick代码完成执行后启用click。

您可以解除click处理程序的绑定,但我会使用
。根据@ShankarSangoli的回答(+1),一个


有一个
已禁用的
属性:

试试这个

$("#save").one('click', function() {
    //this function will be called only once even after clicking multiple times
});

如果元素是一个输入,则可以非常轻松地执行此操作:

<input name="BUTTON" type="submit" value="Submit" onSubmit="document.BUTTON.disabled = true;">

这是一些方便的HTML Javascript集成工具。

假设:

<input type="button" id="save" ... />
它本机禁用了按钮,或者您可以使用jQuery的功能:

$('#save').one('click',function(){
    //
    // save code
    //
});

它将只执行一次,并且必须重新绑定。(但如果您决定基于参数启用/禁用,则使用可能是更好的选择。)

#保存
还是
?在您的代码中,您似乎再次将active设置为true,这将允许他们再次单击。。。所以,去掉最后一行,它应该会工作吗?不,它是一个div。这三行点是我的代码。我只想在执行了真正的代码行之后再次单击该按钮。对不起,我忘了提到我想在代码执行之后启用该功能。一旦执行了所需的代码,您可以再次使用“一”设置处理程序,并且您现在觉得事件应该再次附加。谢谢你,这不是应该是
$(“#save”)。一个('click',function(){…
我看到13票赞成,但是。。。
<input name="BUTTON" type="submit" value="Submit" onSubmit="document.BUTTON.disabled = true;">
<input type="button" id="save" ... />
$('#save').click(function(){
    var $save = $(this);

    //
    // save code
    //

    $save.get(0).disabled = true;
});
$('#save').one('click',function(){
    //
    // save code
    //
});