禁用点击不工作

时间:2015-05-12 16:40:18

标签: javascript jquery

$('#likebtn1').click(function(){
    $.post("postlike.php",
    {img1link: img1}
);
    $(this).click(false);
});

当单击div likebtn1时,它需要将一些数据发布到PHP文件,以便它可以更新表。我只想让它被点击一次(以防止1人多次点击)。由于某种原因,上述代码无效。如果我点击很多次,它仍然会不断更新表格。

编辑:当用户点击另一个div时,需要重新启用点击。

5 个答案:

答案 0 :(得分:2)

使用$('#likebtn1').one(function(){})

<强>更新

如果您需要先停用$('#likebtn1').bind('click'),稍后再次启用它,也可以使用$('#likebtn1').unbind('click')click个事件。

答案 1 :(得分:1)

var _clicked = false;

var _click = function(e) {
  $.post("postlike.php",{img1link: img1});
  _clicked = true;
};

$("#likebtn1").one("click", _click);

if (_clicked) {
  $("#anotherDiv").on("click", _click);
};

答案 2 :(得分:0)

我会这样做:

function myFunction() {
    $('#likebtn1').one('click', function () {
        $.post("postlike.php", {
            img1link: img1
        });
    });
}

myFunction(); // run on document.ready

$('#myOtherButton').click(function() {
    myFunction(); // re-enable the other button
});

答案 3 :(得分:0)

您可以在css中为此div更改指针事件

TITLE

在另一个div点击事件中

.addclass{
   pointer-events: none;
}

$('#likebtn1').click(function(){
    $.post("postlike.php",
    {img1link: img1},
    function(){
    $(this).addClass('addclass');
    }
);
});

答案 4 :(得分:-1)

如果你想多次使用on处理程序:

TextBlock tb1 = (TextBlock)ComboFirma.SelectedItem;
lblCompanyNameShow.Content = str.SelectedText;

这比事件绑定有好处,因为 $('#likebtn1').click(function(){ $.post("postlike.php", {img1link: img1} ); $(this).off('click'); }); 接受回调:

off