数字以外のキーを入力したときにキーダウンイベントをキャンセルしたいだけですが、
このために、私は次のことを行いました:
function handleNum(obj){
var e = window.event;
var flag = true;
if( ( e.keyCode >= 48 && e.keyCode <= 57 ) ||
( e.keyCode >= 96 && e.keyCode <= 105 ) ||
e.keyCode == 8 ||
e.keyCode == 46 ||
//e.keyCode == 110 ||
//e.keyCode == 190 ||
e.keyCode == 37 ||
e.keyCode == 39 ||
e.keyCode == 35 ||
e.keyCode == 36 ||
e.keyCode == 9
) {
flag = true;
} else {
alert('You can type only a number!');
console.log("doesn't return?");
e.preventDefault();
flag = false;
}
console.log(flag);
return flag;
}
html :
<input type="text" onkeydown="return handleNum(this);" />
しかし、うまくいきません。どうすればこの問題を解決できますか? e.preventDefault() がどのブラウザーでも機能しない理由がわかりません。