在span / label元素上添加/删除click事件

时间:2013-01-10 12:59:35

标签: html javascript-events event-handling

要求: 我打了一个跨度的ajax调用。我需要暂时禁用/删除click事件,并在我的ajax请求完成后启用它。

我以前的输入按钮

        onRequest : function() {
            $(inputID).disabled = true ;
        },

        onComplete : function(response) {
            $(inputID).disabled = false;
        },

然而,由于“禁用”不适用,因此我需要另一种选择。

最坏情况解决方案:

      onRequest : function() {
            $(inputID).removeEvents() ;
        },

        onComplete : function(response) {
            $(inputID).addEvents() ;
        },

我不喜欢这个解决方案,因为我需要提供保留方法所需的参数。

在javascript中是否有任何规定,我可以迅速临时禁用/启用span / label上的点击事件而无需删除和添加事件?

1 个答案:

答案 0 :(得分:0)

您可以在span中添加一个类(因此您可以将其设置为样式)...

$("inputID").on("click", function () {
    var $input = $(this);
    if (!$input.hasClass("loading")) {
        $input.addClass("loading");
        // pseudo code below
        $input.ajax({
            onComplete : function(response) {
                $input.removeClass("loading");
            }
        })
    }
});

因此,您无需添加,删除或触摸任何事件。