- 方法一:万能代码,该代码适合在既需要实时监听
input
中的输入,又需要禁用enter
提交表单时使用。当给input
同时绑定input
、propertychange
、keydown
三个事件时,在上述情况下利用chrome打断点进行debug,会触发keydown
事件,该事件触发时,按键的值还并没有输入到文本框中,因此在此回调函数中获取input的value值为空。注意,其他两个事件不会触发。此方法实际上通用。
document.onkeydown = function(event) {
var target, code, tag;
if (!event) {
event = window.event;
target = event.srcElement;
code = event.keyCode;
if (code == 13) {
tag = target.tagName;
if (tag == "TEXTAREA") {
return true;
}
else {
return false;
}
}
}
else {
target = event.target;
code = event.keyCode;
if (code == 13) {
tag = target.tagName;
if (tag == "INPUT") {
return false;
}
else {
return true;
}
}
}
- 给input绑定
keydown
事件,当event的keyCode==13
时,return false;
即可
$("#test").bind("keydown",function(event){
if(event.keyCode == 13){
return false;
}
});