跨浏览器有问题。我需要支持 IE7-9,我的网站设置为 IE7 标准 - 无法更改。然后我需要支持最新的 chrome、safari 和 firefox。
我想在输入时在文本框中点击一个 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 事件未命中,如果我不使用它,页面将回发。
我想在所有浏览器中看到“按键 - 按下 Enter - 输入事件”在按下 Enter 时写入屏幕。
任何帮助,将不胜感激。谢谢你。