2013-04-11 2 views
1

사용자 지정 생성기를 사용하고 있습니다. 양식이 파일에 지정되면이 파일은 파싱되고 HTML 요소는 JSF 2.x에서 프로그래밍 방식으로 생성됩니다 (예 : Apache MyFaces의 HtmlInputText).비활성화 된 필드에 onclick 이벤트 추가

우리의 응용 프로그램에는 읽기 전용 사용자 역할이 있습니다. 이러한 사용자의 경우 모든 입력 옵션 인 disabled을 만들려고합니다. input 필드에서 우리는 readonly 속성을 설정하고 다른 요소는 select 필드와 같은 readonly 속성이 없으므로 disabled 속성을 설정합니다.

불행히도 disabled=disabled으로 설정하면 모든 자바 스크립트 이벤트도 비활성화됩니다. 자, 나는 비활성화 된 옵션 필드에 자바 스크립트 함수 on click을 트리거해야합니다. 어떻게해야합니까?

+0

보이지 않는 DIV이며, 그 DIV에 클릭을 결합, 또는 어쩌면 변경할 수 있도록 장애인 상태 제거? 예를 들어, 마우스 나 키보드로 변경할 경우에도 선택한 옵션을 그대로 유지하십시오. 그냥 몇 가지 간단한 아이디어 – aleation

답변

0

랩 참조 즉 이상 onclick 속성을 지원하는 다른 요소의 disabled 요소. 이것의 좋은 예는 그 선택 필드의 상단에있는 <h:panelGrid/>

<h:panelGrid style="width=20px" onclick="foo.myBar()"> 
     <h:someComponent disabled="true"/> 
    </h:panelGrid> 
0

나는 그것에 대해 할 수있는 일이 많다고 생각하지 않는다.

하지만 여기에는 하나의 추악한 해결책이 있습니다.

장소 position:absolute 비장애 용기 중지 된 요소는 상위의 값과 컨테이너의 왼쪽은 선택

의 위치에 따라 달라집니다

<select disabled="disabled" > 
    <option>one</option> 
    <option>two</option> 
    <option>three</option> 
</select> 
<div onclick="alert('s')" 
    style="width:56px;position:absolute; top:1.7%; left:1.6%;height:18px;" > 
</div> 

fiddle

관련 문제