Joh*_*012 10 jsf dialog focus primefaces
我的页面中有一个对话框,其中包含一个输入字段(日期,日历).问题是打开对话框后日历会立即打开,因为焦点是在第一个输入上设置的.
有没有办法在Primefaces中禁用焦点?
Cag*_*ici 16
您可以更改默认行为;
http://forum.primefaces.org/viewtopic.php?f=3&t=29050
您始终可以覆盖窗口小部件的默认行为,例如,防止日历关注对话框打开;
PrimeFaces.widget.Dialog.prototype.applyFocus = function() {
var firstInput = this.jq.find(':not(:submit):not(:button):input:visible:enabled:first');
if(!firstInput.hasClass('hasDatepicker')) {
firstInput.focus();
}
}
Run Code Online (Sandbox Code Playgroud)
原始代码是;
PrimeFaces.widget.Dialog.prototype.applyFocus = function() {
this.jq.find(':not(:submit):not(:button):input:visible:enabled:first').focus();
}
Run Code Online (Sandbox Code Playgroud)
如果您在PrimeFaces资源之后放置覆盖,那么将拾取并使用您的applyFocus实现.
我建议创建一个像primefaces-overrides.js这样的js文件并把这样的东西放在里面,虽然因为你是针对低级api进行编码的一个缺点,但是你需要注意迁移期间的回归,尽管我们的目标是保持向后兼容性.尽我们所能.
小智 7
默认情况下,可以在您拥有的另一个输入中设置更简单的焦点。
<p:dialog id="dialog" header="Users" focus="savebtn" widgetVar="txtName">
Run Code Online (Sandbox Code Playgroud)
如果您从另一个文件调用
<p:dialog id="dialog" header="Users" focus="savebtn" widgetVar="formRegUsers:txtName">
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14958 次 |
最近记录: |