1
有一些问题,跨浏览器。我需要支持IE7-9,我的网站设置为IE7标准 - 无法更改。然后我需要支持最新的Chrome浏览器,safari和firefox。防止表单提交,打keyup事件处理程序不工作
我想在输入文本框击中keyup事件。问题是我有一个按键事件添加到该页面上提交表单,我不想发生的形式。 示例应用程序会是这样的。
JAVASCRIPT:
$(document).ready(function() {
$("form").bind("keypress", function (e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 13) {
$("#log1").append("Key press - Form event");
}
});
$("#myInput1").bind("keypress", function (e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code != 13) {
return true;
}
$("#log2").append("Enter pressed - input event");
//if (!e) var e = window.event;
e.cancelBubble = true;
e.returnValue = false;
if (e.stopPropagation) {
e.stopPropagation();
//e.preventDefault();
}
});
$("#myInput1").bind("keyup", function (e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code != 13) {
return true;
}
$("#log1").append("Key up - Enter pressed - input event");
});
});
HTML
<li onkeypress="alert('hi')">
<input id="myInput1" type="text" />
<div id="log1"></div>
<div id="log2"></div>
</li>
如果我使用e.preventDefault() - keyup事件不打,如果我不使用它,页面回发。
我想看看“键向上 - 输入压 - 输入事件”被写入到屏上按回车,在所有浏览器。
任何帮助,将不胜感激。谢谢。
这是麻烦'如果变种E = window.event(E!);' – elclanrs
@elclanrs我可以删除,没有任何问题,我认为该行代码将永远不会被击中。 –
你尝试$( '形式')上( '提交',函数(){返回false;})。 –