添加onclick事件到禁用字段



我使用表单自定义生成器。表单在一个文件中指定,该文件被解析,HTML元素将由JSF 2生成。例如Apache MyFaces的HtmlInputText。

在我们的应用程序中,我们有一个只读用户角色。对于这些用户,我们尝试将所有输入选项设置为disabled。在input字段上,我们正在设置html readonly属性,对于其他没有readonly属性的元素,如select字段,我们正在设置disabled属性。

不幸的是,设置disabled=disabled也会禁用所有javascript事件。现在,我需要在一个禁用的选项字段触发一个javascript函数on click。我该怎么做呢?

将被禁用的元素包裹在另一个支持onclick属性的元素中。一个很好的例子是<h:panelGrid/>

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

我认为你对此无能为力。

尽管有一个丑陋的解决方案。

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

的位置

看这个

相关内容

  • 没有找到相关文章