首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于在p:dataTable的每一行中显示图像的OnMouseOver

用于在p:dataTable的每一行中显示图像的OnMouseOver
EN

Stack Overflow用户
提问于 2010-12-31 00:26:56
回答 2查看 4.1K关注 0票数 1

我有一个p:dataTable,我想创建并实现当我将鼠标悬停在一行上时,出现一个允许我删除该行的delete图像。我使用PrimeFaces.escapeClientIdjsf Id转换为jQuery可以理解的id。这是我到目前为止所得到的

代码语言:javascript
运行
复制
<p:dataTable value=#{...} var="item">
   <p:column>
       <div onmouseover="jQuery(PrimeFaces.escapeClientId('deleteButton')).fadeIn()">
            <!-- Content of the row -->
            <p:commandButton id="deleteButton" image="delete" style="border: 0; display: none;" 
                              actionListener="#{bean.deleteRow(item)}" />
       </div>
   </p:column>
<p:dataTable>

不幸的是,它不起作用。Firebug返回无错误。请帮帮忙

EN

回答 2

Stack Overflow用户

发布于 2010-12-31 05:08:25

直接的问题是你没有用引号把"deleteButton“括起来--所以javascript认为它是一个变量名,而不是一个字符串。

您可以很容易地跳过整个id业务,只显示,例如“当前元素内的所有div”,通过将以下内容作为jQuery上下文传递:

代码语言:javascript
运行
复制
<p:column>
 <div onmouseover="jQuery('div', this).fadeIn()">
    to jest div
    <div style="color: wheat; background-color: green; display: none">
      <p:commandButton id="deleteButton" image="delete" style="border: 0" actionListener="#{bean.deleteRow(item)}" />
    </div>
 </div>
</p:column>

onmouseover也应该在p:column上工作。

票数 1
EN

Stack Overflow用户

发布于 2016-02-25 13:29:38

使用onmouseenteronmouseleave代替onmouseoveronmouseout,避免因事件冒泡而导致的闪烁

例如:

代码语言:javascript
运行
复制
<div onmouseenter="jQuery('span', this).fadeIn()" 
     onmouseleave="jQuery('span', this).fadeOut()">
     ...
</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4564310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档