使用asp.net,我正在尝试找到一种方法来更改客户端的默认ENTER键按目标。基于当前集中的div或输入。
目标将是具有回发事件的asp.net按钮控件。
寻找IE和Firefox的解决方案。
我也在使用“WebForm_FireDefaultButton(event,controlId)”尝试设置默认按钮,但它不适用于Firefox;你工作得很好。
感谢
答案 0 :(得分:0)
查看ASP.NET Panel Control的默认按钮属性
答案 1 :(得分:0)
在不了解背景的情况下回答这个问题太难了。一般来说,您必须使用所需的操作准备javascript,然后添加类似
的内容onkeydown =“if(event.keyCode == 13)submitForm(); if(event.keyCode == 27)cancelLogin();”
在客户端或服务器端类似的操作产生控件。以上示例涉及MVC。对于WebForms,您可以使用__doPostBack而不是我的submitForm()函数(link text)。通常我使用输入(WebForms的TextBox控件)这样的场景。
答案 2 :(得分:0)
这是我刚刚找到的原因和解决方案 Asp.Net Form DefaultButton Error in Firefox
基本上,无论您喜欢什么样的事件,请调用以下“FireDefaultButton”函数来设置默认的开火按钮。开箱即用功能“WebForm_FireDefaultButton”与Firefox不兼容(详见链接)
function FireDefaultButton(event, target)
{
// srcElement is for IE
var element = event.target || event.srcElement;
if (13 == event.keyCode && !(element && "textarea" == element.tagName.toLowerCase()))
{
var defaultButton;
defaultButton = document.getElementById(target);
if (defaultButton && "undefined" != typeof defaultButton.click)
{
defaultButton.click();
event.cancelBubble = true;
if (event.stopPropagation)
event.stopPropagation();
return false;
}
}
return true;
}