我正在使用自定义生成器的表单。表单在文件中指定,此文件将被解析,HTML元素将由JSF 2.x以编程方式生成,例如Apache MyFaces的HtmlInputText。
在我们的应用程序中,我们有一个只读用户角色。对于这些用户,我们尝试制作所有输入选项disabled
。在input
字段中,我们设置了html readonly
属性,对于没有readonly
属性的其他元素,例如select
字段,我们设置了disabled
属性。
不幸的是,设置disabled=disabled
也会停用所有javascript事件。现在,我需要在禁用的选项字段触发javascript-function on click
。我怎样才能做到这一点?
答案 0 :(得分: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>
其中容器的top和left值取决于select
的位置请参阅此fiddle
答案 1 :(得分:0)
将disabled元素换行到另一个支持onclick属性的元素中。一个很好的例子就是<h:panelGrid/>
<h:panelGrid style="width=20px" onclick="foo.myBar()">
<h:someComponent disabled="true"/>
</h:panelGrid>