PrimeFaces.current().focus 不在 commandButton 上工作
PrimeFaces.current().focus Not working on commandButton
PrimeFaces.current().focus 方法适用于 inputTexts 但使用 commandButton 我看不到任何结果,替代方案我可以使用 executeScript 但我的想法是对这种要求使用焦点:
这个有效:
PrimeFaces.current().executeScript("document.getElementById('frmAperturaCajaMasiva:btnAceptarAperturaCajaMasiva').focus();");
这适用于 inputText 但不适用于按钮:
PrimeFaces.current().focus("frmAperturaCajaMasiva:btnAceptarAperturaCajaMasiva");
知道为什么吗?它是同一件事,但两个命令不同
这是 xhtml 上的按钮代码,没什么特别的:)
<p:commandButton id="btnAceptarAperturaCajaMasiva"
value="#{etiquetasMsg.cerrar_caja}" styleClass="cds-icon-button"
icon="cds-icon aprobar"
disabled="#{aperturaMasivaMB.blBtnProcesar}"
title="#{tooltipsMsg.cierrecaja_masiva_cerrar}"
onclick="if(!confirmarSeleccionTabla(PF('dtbFrmCajaWv'),null)){ return false; }"
actionListener="#{aperturaMasivaMB.validarCierreCajaMasivo}"
rendered="#{adminRestriccionMB.validarRestriccion('BTN_CERRAR_CAJAMASIVO')}" />
是的,我知道为什么。 PrimeFaces 中的焦点方法专门排除了旨在聚焦输入字段的按钮。这是源代码。
focus: function(id, context) {
var selector = ':not(:submit):not(:button):input:visible:enabled[name]';
注意 Jquery 选择器中的 "not(:submit):not(:button)"。
PrimeFaces.current().focus 方法适用于 inputTexts 但使用 commandButton 我看不到任何结果,替代方案我可以使用 executeScript 但我的想法是对这种要求使用焦点:
这个有效:
PrimeFaces.current().executeScript("document.getElementById('frmAperturaCajaMasiva:btnAceptarAperturaCajaMasiva').focus();");
这适用于 inputText 但不适用于按钮:
PrimeFaces.current().focus("frmAperturaCajaMasiva:btnAceptarAperturaCajaMasiva");
知道为什么吗?它是同一件事,但两个命令不同
这是 xhtml 上的按钮代码,没什么特别的:)
<p:commandButton id="btnAceptarAperturaCajaMasiva"
value="#{etiquetasMsg.cerrar_caja}" styleClass="cds-icon-button"
icon="cds-icon aprobar"
disabled="#{aperturaMasivaMB.blBtnProcesar}"
title="#{tooltipsMsg.cierrecaja_masiva_cerrar}"
onclick="if(!confirmarSeleccionTabla(PF('dtbFrmCajaWv'),null)){ return false; }"
actionListener="#{aperturaMasivaMB.validarCierreCajaMasivo}"
rendered="#{adminRestriccionMB.validarRestriccion('BTN_CERRAR_CAJAMASIVO')}" />
是的,我知道为什么。 PrimeFaces 中的焦点方法专门排除了旨在聚焦输入字段的按钮。这是源代码。
focus: function(id, context) {
var selector = ':not(:submit):not(:button):input:visible:enabled[name]';
注意 Jquery 选择器中的 "not(:submit):not(:button)"。