2012-05-18 2 views
2

때때로 다음과 같은 문제가 발생합니다. 클라이언트 측에서 asp.net 및 JQuery를 사용하고 있습니다. 예를 들어 확인란의 상태에 따라 texbox를 표시하거나 숨기려고합니다. 나는 다음과 같이 씁니다 :JQuery "onclick"이벤트 플러스 "onload"

$(function() {   

     $('#<%=chbMyCheckbox.ClientID %>').click(function(event) { 

      if (this.checked) { 
      $('#txFirstAid').show(); 
      } else { 
      $('#txFirstAid').hide(); 
      } 
     }); 
    }); 

잘 작동합니다. 그러나 페이지가 방금로드 될 때이 코드를 실행하려고합니다. 코드과 otside를 움직이지 어떻게 든 가능하며, 당신은 jQuery의 trigger() 사용할 수있는이

$('#<%=chbMyCheckbox.ClientID %>').click(function(event).onloadEvent() 
{ 
    bla-bla 
} 
+0

.click (myFunc)은 더 짧습니다. – olivieradam666

답변

5

과 같이 쓰기 : 질문은

$(function() {   
     myFunc(); 
     $('#<%=chbMyCheckbox.ClientID %>').click(function(event) { 
      myFunc(); 

     }); 

      function myFunc() 
      { 
      if (this.checked) { 
      $('#txFirstAid').show(); 
      } else { 
      $('#txFirstAid').hide(); 
      } 
      } 
    }); 

을 : 물론,이 같은 별도의 기능에 코드를 이동할 수 있습니다 메소드를 호출하여 onLoad 이벤트를 발생시킵니다.

예를 들어, 클릭 이벤트를 등록 :

$('#someElement').on('click', function() { console.log('I BE CLICkED') });

트리거가로 :

$('#someElement').trigger('click');

당신은 어떤 trigger()를 사용하여 이벤트뿐만 아니라 화재 사용자 정의 이벤트를 트리거 할 수 있습니다. (이 당신이 custom events in jquery

0

을 사용하여 등 플러그인을 heres

The full trigger documentation is here, 좋은 우편으로 해고 이벤트에 바인딩 할 수있는 방법 페이지를 렌더링 할 때 서버에서 텍스트 상자를 숨기고? 그래서 사용자가 캔트을 참조에 대한 domready 이전의 텍스트 상자