焦点在另一个控件上,但按enter键会按默认按钮
focus is on another control but pressing enter presses the default button
我想要一个当前有焦点的超链接,当我按回车键时单击。
有人能帮我的javascript代码?
我确实在javascript中写了一个代码,当焦点在该按钮上时,实际上尝试单击该按钮-
if ((KeyCode == 13))
{
evt.returnValue=false;
evt.cancel = true;
if((document.activeElement.name != 'btnChangeRep') &&
(document.activeElement.name != 'btnSubmitAndOpen') &&
(document.activeElement.name != 'hypTaxID') && document.activeElement.name != 'hypCoTaxID') &&
(document.activeElement.name != 'hypFormerRegSearch'))
{
btn = document.getElementById('btnSubmit');
if (btn == null)
{
document.getElementById('btnSave').click();
}
else
{
document.getElementById('btnSubmit').click();
}
}
else
{
document.getElementById(document.activeElement.name).click();
}
在firefox中可以正常工作,但在IE中按回车键链接无法打开。
谁能告诉我我哪里错了
EDIT HTML for hyperlink
<asp:hyperlink id="hypTaxID" runat="server"></asp:hyperlink>
在链接上调用click将触发该链接的任何javascript点击事件,但并不总是导致导航发生。
在过去,我不得不使用javascript来做导航。您可能需要如下内容。(我也会使用jquery来简化它)
if ((KeyCode == 13))
{
evt.returnValue=false;
evt.cancel = true;
if((document.activeElement.name != 'btnChangeRep') &&
(document.activeElement.name != 'btnSubmitAndOpen') &&
(document.activeElement.name != 'hypTaxID') &&
document.activeElement.name != 'hypCoTaxID') &&
(document.activeElement.name != 'hypFormerRegSearch'))
{
btn = document.getElementById('btnSubmit');
if (btn == null)
{
document.getElementById('btnSave').click();
}
else
{
document.getElementById('btnSubmit').click();
}
}
else
{
/*new code*/
var link = document.getElementById(document.activeElement.name).getAttribute("href");
document.location.href = link;
}
}
还要确保您的ASP.net元素的ID是您所期望的。Webforms因ID和名称混淆而臭名昭著。
我也会评估你为什么不在服务器端使用ASP.net来处理这个问题。使用ASP.net面板可以为面板设置默认按钮,以便在按下输入按钮时单击该按钮。
相关文章:
- 根据两个下拉列表的默认值禁用按钮
- Angular:如何使用ngRepeat并设置默认单选按钮选项
- vue-js-单选按钮won't默认情况下使用v-model属性进行检查
- 如何在单击和单击不同的按钮时更改按钮的样式,它应该更改为默认值
- 如果用户未选中复选框或选择按钮,如何为复选框或单选按钮设置一些默认值
- 将引导默认按钮更改为当前面板
- 当我有多个可能的提交按钮时,如何在ENTER上进行表单提交
- 为输入字段(而不是表单的一部分)设置默认按钮(或在 javascript 中触发其事件)的最佳方法
- 高图表隐藏默认按钮
- 如何防止 Enter 按钮在 Firefox 12 中运行其默认行为
- 默认按钮颜色
- 如何在 ajax 成功后重置默认按钮
- 表单上的jQueryUI按钮是按下Enter键时的默认按钮
- Bootbox:使默认按钮与ENTER键一起工作
- 如何从javascript设置表单的默认按钮
- 如何获得螺丝默认按钮插件与动态添加的复选框工作
- 更改firefox默认按钮问题
- 定义按回车键时的默认按钮
- 激活默认按钮上的下拉切换
- 焦点在另一个控件上,但按enter键会按默认按钮