我开发了asp.net应用程序,因为我有客户端的搜索选项。当我在文本框中输入客户端名称然后我按下键盘上的Enter键它在Firefox和Chrome中工作正常但在IE8中没有触发在这里我发布mu代码我为KeyEvent fire做了什么
<script type="text/javascript">
function KeyPress() {
if (event.keyCode == 13) { //if they pressed enter key then..
document.formname.LoginButton.focus();
}
}
</script>
我如何解决这个问题,以便在IE浏览器帮助中解雇Keypress事件......
答案 0 :(得分:1)
尝试此解决方案。
HTML:
<input type="text" id="txtNombre" onkeypress="manejadorEnter(this, event)" />
Javascript(包含在代码隐藏或HTML中):
function manejadorEnter(inField, e) {
var charCode;
if(e && e.which){
charCode = e.which;
}else if(window.event){
e = window.event;
charCode = e.keyCode;
}
if(charCode == 13) {
alert("La tecla enter ha sido pulsada en " + inField.id);
}
}
答案 1 :(得分:0)
我刚刚尝试过上面显示的代码,它适用于所有浏览器。只需尝试以下HTML文件(显然在您的浏览器中启用JavaScript):
<html>
<head>
<title>Test enter button keypress</title>
<script language="javascript" type="text/javascript">
function handlerEnter(inField, e) {
var charCode;
if(e && e.which){
charCode = e.which;
}else if(window.event){
e = window.event;
charCode = e.keyCode;
}
if(charCode == 13) {
alert("You pressed Enter button at " + inField.id);
}
}
</script>
</head>
<body>
<input type="text" id="txtNombre" onkeypress="handlerEnter(this, event)" />
</body>
</html>
对于更复杂的JavaScript脚本,我强烈建议您查看JQuery。
祝你好运!