1

カスタムジェネレーターのフォームを使用しています。フォームはファイルで指定され、このファイルが解析され、HTML 要素がプログラムによって JSF 2.x によって生成されます (Apache MyFaces による HtmlInputText など)。

私たちのアプリケーションには、読み取り専用のユーザー ロールがあります。それらのユーザーのために、すべての入力オプションを作成しようとしていますdisabledinputフィールドには html 属性を設定し、フィールドのような属性readonlyを持たない他の要素には属性を設定します。readonlyselectdisabled

残念ながら、設定disabled=disabledするとすべての JavaScript イベントも無効になります。on clickここで、無効なオプション フィールドでJavaScript 関数をトリガーする必要があります。これどうやってするの?

4

2 に答える 2

0

それについてあなたができることはたくさんあると思います。

ただし、これには醜い解決策が 1 つあります。

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>

コンテナーの top と left の値は、select の位置によって異なります。

このフィドルを参照してください

于 2013-04-11T11:55:54.347 に答える
0

無効化された要素を、onclick 属性をサポートする別の要素でラップします。これの良い例は、<h:panelGrid/>

   <h:panelGrid style="width=20px" onclick="foo.myBar()">  
      <h:someComponent disabled="true"/>
   </h:panelGrid>
于 2013-04-11T12:43:00.813 に答える