0

我有一个按钮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) : "";
        });
4

2 回答 2

3

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

所以在 ".click(function (e) {" 之后改变你的脚本,如下所示:

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

请看一下.one()

于 2013-06-03T10:45:55.233 回答
0

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

或者

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

这样当他第一次单击按钮时,就会进入禁用模式。

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

于 2013-06-03T10:38:12.423 回答