2010-12-01 3 views
0

클릭하면 캘린더가 표시되는 이미지 요소를 생성하는 ASP.NET datepicker 컨트롤 (소스 없음)이 있습니다. 자바 스크립트를 통해 필요에 따라 이미지를 비활성화하거나 활성화하고 싶습니다. img 요소에 'disabled'속성을 추가하면 페이지의 일부 스크립트가 항상 사용 중 상태가되어 페이지 렌더링이 완료되지 않습니다. 내 생각 엔 장애인 속성이 어떤 식 으로든 충돌을 일으키는 것 같습니다.JavaScript에서 img 요소에 대한 사용자 지정 클릭 이벤트를 사용/사용하지 않도록 설정하는 방법

내 다음 시도는 ASP.NET 컨트롤이 비현실적으로 추가하는 사용자 지정 클릭 이벤트를 사용하지 않도록 설정하는 것입니다. 클릭 이벤트를 비활성화하려면 어떻게합니까? img가 정상적으로 작동하도록 다시 활성화하려면 어떻게해야합니까? jQuery 1.4도 사용하고 있습니다.

+0

을 문서 준비가 끝난 후 비활성화하려고했을 때? –

+0

예. img를 활성화/비활성화하는 체크 박스가 있습니다. –

답변

0
var $img = $('img#yourid'), 
    handler = $img.get(0).onclick; // previous click handler 
// unbind 
$img.unbind('click').click(function(){ 
    alert('new click'); 
}); 
// rebind 
$img.unbind('click').click(handler); 

다른 이벤트 (mousedown mouseup 등)를 확인해야 할 수도 있습니다.

http://jsfiddle.net/Jbs9V/

,이 작업을 수행하는 일부 바로 가기가있을 수 있지만 :

0

나는 다시 활성화하기 위해 다시 다음 숨겨진 DIV에 클릭 이벤트의 모든 스왑, 어느, 여기에 예를 이 작품. 마찬가지로, 글로벌 VAR의 클릭 핸들러를 저장하고 그에서 그들을로드 할 수 :

http://jsfiddle.net/8ZKJR/ 나는 날짜 선택기가 물건을 수행 할 텍스트 컨트롤을 사용하기 때문에 버그가 발생 될 수 있다고 생각

0

하지만 경우 컨트롤이 무효, 날짜 선택기를 계속할 수 없습니다,하지만 당신은 거의 같은 일을하는 다른 속성을 사용할 수 있습니다, 태그에 읽기 전용 속성을 사용

readonly="readonly"

당신은 당신의 HTML 입력에 읽기 전용 속성을 사용할 수 있습니다.

희망이 도움이됩니다.

0

unbind()을 사용하면 jquery를 사용하여 사용자 지정 이벤트 처리기를 제거 할 수 있습니다.

관련 문제