gpt4 book ai didi

jquery - 如何获取模态弹出窗口的YES按钮上Y键的onkeydown事件

转载 作者:行者123 更新时间:2023-12-01 05:39:28 26 4
gpt4 key购买 nike

我的场景是显示带有"is"和“否”按钮的模式弹出窗口。单击"is"按钮或按“Y”,它应该执行所需的操作,对于“否”按钮也类似。

Main.xhtml

    <rich:popupPanel id="popupOne" modal="true" show="#{demoBean.isTrue}">
<a4j:outputPanel id="popupTwo" >
<ui:include id="modalPopUp" src="/MyXhtml.xhtml">
</ui:include>
</a4j:outputPanel>
</rich:popupPanel>

MyXhtml.xhtml

    <a4j:outputPanel id="panelForYes" >
<h:outputText id="errorMsg" name="errorMsg" class="pop_outputText" value="#{demoBean.messages}" />
<a4j:commandButton id ="btnOne"
action="#{demoBean.yesAction}"
value="YES"
oncomplete="closePOPUP()">
</a4j:commandButton>
</a4j:outputPanel>


<a4j:outputPanel id="panelForNo" >
<a4j:commandButton id ="btnTwo"
action="#{demoBean.noAction}"
value="No"
oncomplete="closePOPUP()">
</a4j:commandButton>
</a4j:outputPanel>

jquery函数

jQuery(document).keydown(function (e) {
if (document.activeElement.tagName == "INPUT") {
// do nothing
} else {
if (e.which == 89) {
document.getElementById('btnOne').click();
}
if (e.which == 78) {
document.getElementById('btnTwo').click();
}

}
});

现在的问题是我无法将“Y”键事件与模式弹出窗口的"is"按钮绑定(bind)。

上面的 jquery 运行良好,但即使模型弹出窗口没有出现,“Y”键事件如果被按下也会调用我的操作。如何防止这种情况发生?如何仅将“Y”事件附加到模式弹出窗口的"is"按钮?

最佳答案

将代码which更改为keycode

 jQuery(document).keydown(function (e) {
if (document.activeElement.tagName == "INPUT") {
// do nothing
} else {
if (e.keyCode == 89) {
document.getElementById('btnOne').click();
}
if (e.keyCode == 78) {
document.getElementById('btnTwo').click();
}

}
});

Here is a Jsfiddle

关于jquery - 如何获取模态弹出窗口的YES按钮上Y键的onkeydown事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31667603/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com