2013-06-03 2 views
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) : ""; 
     }); 
+1

시도'$ (이) .prop를 ('장애인 :

그래서 ") {.click (기능 (전자"이 같은 후 스크립트를 변경합니다. ', true);'e.stopPropagation(); 대신 –

답변

0

가 수행

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

또는

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

그래서 그는 처음 버튼 클릭하면 해제 모드로 전환있다.

유효성 검사가 실패 할 경우 사용하도록 설정해야합니다.

+0

$ (this) .prop ('disabled ', true); 승격 된 메소드 –

+0

@roasted yeah..done !! –

+0

또는'단지 this .disabled = true' – Alnitak

3

버튼입니다. 원하는만큼 여러 번 클릭 할 수 있습니다. 첫 번째 클릭 후 기본 동작을 방지하거나 비활성화하십시오.

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

.one()에서 참조하시기 바랍니다

+0

+1. dblclick 이벤트도 false로 반환 할 수 있습니까? – FLX

+0

@FC ': 처리기는'. one()'. 그래서'dblclick '도 완벽하게 작동합니다. –

+0

그가 한 번만 이벤트를 사용 하시겠습니까? 두 번의 빠른 클릭 또는 두 번의 정상 클릭과 같은 더블 클릭을 페이지에서 한 번만 의미하는지는 알 수 없습니다. – FLX

관련 문제