Tim*_*own 15
如果你只对你提到的示例键感兴趣,那么keydown事件将会发生,除了较旧的Blink之前版本的Opera(至少包括12版本),你需要取消该keypress事件.在keydown事件中可靠地识别非可打印键比在keypress事件中更容易,因此以下使用变量在keydown处理程序中设置以告知keypress处理程序是否禁止默认行为.
var cancelKeypress = false;
document.onkeydown = function(evt) {
evt = evt || window.event;
cancelKeypress = /^(13|32|37|38|39|40)$/.test("" + evt.keyCode);
if (cancelKeypress) {
return false;
}
};
/* For Opera */
document.onkeypress = function(evt) {
if (cancelKeypress) {
return false;
}
};
Run Code Online (Sandbox Code Playgroud)
捕获keydown事件并返回false.应该是这样的:
<script>
document.onkeydown = function(e){
var n = (window.Event) ? e.which : e.keyCode;
if(n==38 || n==40) return false;
}
</script>
Run Code Online (Sandbox Code Playgroud)
(见此处)
密钥代码在这里定义
编辑:更新我在IE中工作的答案
| 归档时间: |
|
| 查看次数: |
37831 次 |
| 最近记录: |