Javascript Opera重定向问题

Javascript Opera重定向问题,javascript,asp.net,Javascript,Asp.net,大家好,我有这样的问题 例如,我在 我的页面中有两个文本框(txtsername和txtspassword)用于登录。 当这些文本框中的任何一个被选中时,用户可以按enter键调用Login()方法。 我像这样抓取回车键 txtUserName.Attributes.Add("onkeydown", "if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {Login();return

大家好,我有这样的问题

例如,我在 我的页面中有两个文本框(txtsername和txtspassword)用于登录。 当这些文本框中的任何一个被选中时,用户可以按enter键调用Login()方法。 我像这样抓取回车键

txtUserName.Attributes.Add("onkeydown", "if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {Login();return false;}} else {return true}; ");
txtPassword.Attributes.Add("onkeydown", "if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {Login();return false;}} else {return true}; ");
它调用Login()方法,执行该方法后,Opera将页面重定向到我的默认页面()

其他浏览器正在正常工作,换句话说,它们不会将我重定向到默认页面


Opera版本10.61

好吧,这里的问题是Opera(祝福它)不太支持
onKeyDown
命令-因此您必须查看
onKeyUp
onKeyPress
。有一个非常方便的HTML表格来解释这一点

如果您只想捕获一个控制键,
onKeyUp
可能是您最好的选择。我被迫将
onKeyDown
onKeyPress
组合起来,以捕获文本输入和控制键(但由于您希望文本输入正常工作,所以不需要走这么远)

在您的示例片段中,只需将“onkeydown”切换为“onkeydup”

也许有一个问题是,你为什么要做上述事情。我不知道
Login()
是做什么的,但是构建一个包含3个部分(输入文本、输入密码和输入提交按钮)的表单时,默认情况下会提交表单。当在任一输入框中按enter键时,您可以向调用
Login()的表单添加一个
onSubmit
事件