2012-01-05 2 views
0

버튼을 클릭하면 jQuery를 통해 버튼 스타일이 변경됩니다. 다음은 코드입니다. 제가 동봉 때문에 jQuery 클래스가 한 번만 변경되었습니다.

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#btnDiv .down").click(function() { 
      $(this).addClass("click"); 
     }); 
    }); 

는 UpdatePanel에서 #btnDiv 상기 기능 번만 작동한다. 문제의 원인과 해결 방법은 무엇입니까?

+0

무엇이 문제입니까? – Blender

+1

한 번만 작동한다는 것은 무엇을 의미합니까? 동일한 클래스에 동일한 클래스를 여러 번 추가 할 수는 없습니다 (적어도 이해할 수는 없습니다). –

+0

문제는 클래스를 가지고있는 버튼을 클릭 할 때입니다. 클래스를 변경해야합니다. 내 질문에 그것은 괜찮 았어하지만 이후 나는 그것을 처음으로에만 적용되는 updatePanel 변경 클래스 코드에 묶여있다 – Shah

답변

1

updatePanel을 렌더링 할 때 해당 자바 스크립트를 다시 실행해야합니다. 그렇지 않으면 업데이트 후 이전의 바인딩 된 이벤트가 표시되지 않습니다. 당신은 1.7 전에 jQuery를 버전이있는 경우

는 어쩌면 .delegate() 또는 .live() 기능을 사용할 필요가 jQuery.on()

를 살펴 보자.

그래서 당신의 코드가 될 수있다 : 당신은 위의 코드 당신이 패널을 업데이트 할 때마다 렌더링 할 필요가 없습니다

$(document).ready(function() { 
     $("#btnDiv .down").on("click",function() { 
      $(this).addClass("click"); 
     }); 
    }); 

. 한번만 실행하십시오.

+0

.live()가 훌륭하게 작동했습니다. – Shah

0

"UpdatePanel"이 동적으로 콘텐츠를 변경한다고 가정합니다. 그런 다음 jquery .on() (또는 .delegate()) 함수를 사용하여 동적으로 업데이트 된 요소에 대한 이벤트를 바인딩해야합니다.