我在我的应用程序中使用PrimeFaces 5.1
,我在dataTable
里面使用了selectOneMenu
,当我按下添加更多按钮时需要关注selectOneMenu
按钮。
示例代码
JavaScript
function focusMenu(id)
{
var focusId="#{p:component('mainTable')}"+":"+id;
PrimeFaces.focus(final);
}
xhtml
<div style="padding-left:4px;height:
expression(this.scrollHeight > 399? '400px' : 'auto');max-height:400px;overflow-x:auto;overflow-y:auto;">
<p:dataTable id="mainTable" value=#{main.UserDataTable} .....>
<p:column headerText="Drop Down">
<p:selectOneMenu id="dropdDownId"...>
.....
</p:selectOneMenu>
</p:column>
<p:column headerText="Operation">
<p:commandButton value="Add More Row" action="{user.addMoreRowAction}"
update="mainTable"/>
</p:column>
</p:dataTable>
</div>
Java语言
public String addMoreRowAction()
{
RequestContext.getCurrentInstance().execute("focusMenu('"+ rowIndex + ":dropdDownId"')");
return null;
}
在这里,上面的代码可以很好地按照我的预期聚焦最后添加的selectOneMenu,但浏览器滚动条不会在聚焦最近添加的selectOneMenu组件的基础上向下移动。
请帮我解决这个问题。
您可以使用scrollTop
函数将滚动条带到焦点ID。将Focus usid
传递到函数中。
function setScrollPos(focusId){
$('html,body').animate({
scrollTop: $(focusId).offset().top-65
}, 1000);
}
调用上述函数
function focusMenu(id)
{
var focusId="#{p:component('mainTable')}"+":"+id;
PrimeFaces.focus(final);
setScrollPos(focusId); <<------
}
我尝试在我的项目中使用伪类。我想改变我点击它的元素的颜色。现在,当我点击我的元素时,只在它处于活动状态的地方改变颜色,鼠标上移后,它就会返回到原来的颜色。第二次点击后,我想让它回到原来的颜色。我用的是铬。 此处演示 null null
我有一个和一个。点击按钮,我想打开键盘,同时请求关注,以便用户直接开始在键盘上键入文本,并出现在中。但是在我的例子中,当我点击按钮时,它会打开键盘,但它不会将焦点设置在上,因为用户必须再次单击才能在上面写入。问题是什么。任何帮助或建议。 单击按钮时的代码
在我的应用程序中,我有一个使用加速器的屏幕。我使用功能键F3在我的应用程序中执行一个操作。它每次都工作得很好,但是当我在这个屏幕上单击任何文本字段时,功能键都不执行。 当我单击textfield然后按F3功能键时,它不起作用。有人知道解决办法?
问题内容: 我有以下功能 但是 在ie7中不起作用,那我该怎么办!我想将光标放在输入中! 谢谢 更新 很好的解决方案,谢谢,但是现在在opera中不起作用:( 问题答案: 对于IE,您需要使用settimeout函数,因为它很懒,例如: 对于opera,这可能会有所帮助:如何在opera文本框上的所需索引中设置焦点
我有一个音乐播放器活动来控制歌曲的播放。我已经阅读了有关管理音频焦点的文档,并在
定义 焦点图组件。 图片展示 代码演示 import Focus from 'pile/dist/components/focus' <Focus className="focus-demo" index = {0} width = {"375px"} loop = {true} timer = {5000} direction = "left" duration = {