function CaptureKeys (e,btn) {
var c //= document.layers ? evt.which: document.all ? event.keyCode : evt.keyCode
if(window.event) {
c = e.keyCode; // IE
} else if(e.which) {
c = e.which; // Netscape/Firefox/Opera
}
if (c == 13) {
//return /enter key
if (btn=="go") {
if (document.getElementById("ctl00_ContentPlaceHolder1_btnGo")!=null) {
document.getElementById("ctl00_ContentPlaceHolder1_btnGo").focus();
return true;
}
} else {
if (document.getElementById('ctl00_ContentPlaceHolder1_ImgFilter') != null) {
//__doPostBack('ctl00_ContentPlaceHolder1_ImgFilter','');
document.getElementById('ctl00_ContentPlaceHolder1_ImgFilter').focus();
return true;
}
}
return false;
}
}
此代码正在使用IE7但不适用于Mozilla Firefox。按 Enter 键时,请帮我按钮事件。
答案 0 :(得分:1)
Firefox假设如果您在任何文本字段中按Enter键,则需要提交表单 - 即使字段不是表单的一部分,即使按钮不是"提交"
您必须使用preventDefault()覆盖Firefox默认行为。在你的jQuery选择器中,放入包含你想要忽略输入键的文本框的div - 在你的情况下,"页面" DIV。您也可以指定要特别忽略的文本框,而不是选择整个div。
$('#page').keypress(function(e) {
if(e.which == 13) { // Checks for the enter key
e.preventDefault(); // Stops IE from triggering the button to be clicked
}
});
答案 1 :(得分:0)
您只需将 UseSubmitBehavior =“true”属性值添加到应该在 Enter 键上触发的按钮。
答案 2 :(得分:0)
您也可以尝试以下代码:
theButton.click();
答案 3 :(得分:0)
我不知道是否有人正在检查这个帖子,但是为了将来参考。
我在FF遇到了同样的问题,我在这里得到了答案:
祝你好运!答案 4 :(得分:0)
使用:
__doPostBack('ctl00$ContentPlaceHolder1$btnGo','');
而不是:
document.getElementById("ctl00_ContentPlaceHolder1_btnGo").focus();
答案 5 :(得分:0)
你有一个错字。
window.event
应为window.Event
!