防止多次点击直到删除记录

时间:2012-02-21 10:05:30

标签: jquery ajax html-table click

我有一个HTML表格。对于每一行,数据库中都有一条记录,每行还有一个删除按钮(图像图​​标)。

在删除时,我使用Ajax请求从数据库中删除记录 成功时,我显示一条消息,然后从表中隐藏()/ remove()行。

工作正常。 但是如果我在多行上点击真正的快速,记录会被删除,但仍会显示一些行。

我的点击功能附加到了一个类

$(".tog").click(function(e){ ...

我已经阅读过jQuery的“toggleClass(),delay()”,这些都没有用。

有什么想法吗?

3 个答案:

答案 0 :(得分:5)

您可以在执行ajax请求时使用http://jquery.malsup.com/block/#demos插件。

$.ajaxSetup({
    cache:false,
    beforeSend: function() {
       $('#content').block({ 
              message: ''
            }); 
    },
    complete: function(){
        $('#content').unblock(); 
    },
    success: function() {}
    }); 

将#content替换为您的主div ID

答案 1 :(得分:0)

不推荐使用,但使用Jquery.ajax时,您可以使用async:false选项。

由此,用户将无法在浏览器上执行任何操作,但浏览器可能暂时显示为挂起。

您还可以考虑向用户显示overlay,直到您的请求完成为止。通过这种方式,浏览器不会被挂起,您也可以向用户显示一些正在进行的消息。

答案 2 :(得分:0)

在功能中单击您可以禁用事件

$(".tog").click(function () { $(this).unbind() ... 

必要时激活