如何防止按钮的后续点击事件?

时间:2013-06-03 10:35:06

标签: javascript jquery-ui jquery

我有一个按钮btnAdvSearch,当第一次点击后再次点击时,显示的日历会卡住。所以我需要阻止进一步点击按钮。

我的代码:

$('<button id="btnAdvSearch_' + uniqueNum + '" class="" title="Advanced                   Search"><span class="ui-button-text">' + btnTitle + '</span></button>')
        .appendTo($('<div class="ui-dialog-buttonpane buttonHolder" id="buttonHolder_' + uniqueNum + '"></div>')
        .appendTo(this.element))
        .click(function (e) {

            debugger;
            e.preventDefault();
            e.stopPropagation();

            self._validateSearchForm();
            //Check the form validation using jquery validation engine
            $('#frmAdvSearch_' + uniqueNum + '').validationEngine('validate') == true ? self._submitAdvancedSearchQuery(self) : "";
        });

2 个答案:

答案 0 :(得分:3)

这是一个按钮,您可以根据需要多次单击它。只需阻止默认操作或在第一次单击后禁用它。

所以在“.click(function(e){”之后改变你的脚本:

.one('click', function (event) {  
    event.preventDefault();
    //do something
    $(this).prop('disabled', true);
});

请查看.one()

答案 1 :(得分:0)

$(this).prop('disabled', true);

$(this).attr("disabled", "disabled");

因此,当他第一次点击按钮进入禁用模式时。

如果验证失败,请不要忘记启用它。