繁体   English   中英

将onclick事件添加到禁用字段

[英]Add onclick event to disabled field

我正在使用表单自定义生成器。 该格式在文件中指定,该文件将被解析,HTML元素将由JSF 2.x以编程方式生成,例如Apache MyFaces的HtmlInputText。

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

不幸的是,设置disabled=disabled也会使所有的javascript事件无效。 现在,我需要在禁用的选项字段on click以触​​发javascript函数。 我怎样才能做到这一点?

我不认为您可以做很多事情。

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

放置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>

容器的顶部和左侧的值取决于选择的位置

看到这个小提琴

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM