0

我想禁用 onclick 功能,以便在 ajax 正在进行时停止调用相同的功能。

点击功能:

function fnDisplaySubjects(url,cat,divid)
{
    /* DISABLE ONCLICK HERE */
        $.ajax({
            url: url+"/cat/"+cat,
            type: "POST",
            complete: function(){
             /* ENABLE ONCLICK HERE */
        },
            success: function(response){
                $('#'+divid).html(response);        
            }
        });    
    }
}

感谢你的帮助..

4

3 回答 3

0

尝试:

function fnDisplaySubjects(url,cat,divid, obj /* this object */)
{
var $this = $(this);
if ($this.data('called')) {
    return;
}
$this.data('called', true);
        $.ajax({
            url: url+"/cat/"+cat,
            type: "POST",
            complete: function(){
             /* ENABLE ONCLICK HERE */
        },
            success: function(response){
                $('#'+divid).html(response);  
                $this.removeData('called');      
            }
        });    
    }
}
于 2012-07-20T11:49:40.013 回答
0

您可以传递一个发件人(即按钮或链接)并这样做:

$(sender).attr('disabled', true); // to disable
....
$(sender).attr('disabled', false); // to enable
于 2012-07-20T11:52:52.223 回答
0

如果您有一个按钮并且在单击它时调用该函数,您可以执行以下操作:

// 移除点击处理程序(你称之为 /* DISABLE ONCLICK HERE */)

$('#button_id').off('click');

// 设置点击处理程序(你称之为 /* ENABLE ONCLICK HERE */

$('#button_id').on('click', fnDisplaySubjects);
于 2012-07-20T12:23:49.433 回答