高考英语必背话题词汇:[JS]改变按键响应事件的问题

来源:百度文库 编辑:神马品牌网 时间:2024/05/01 14:02:33
我需要在用户按下ctrl+p的时候执行某些东西
if (event.ctrlKey=ture&&event.keycode=80){
changekeyfunc('postkeyfunc');//这里是一个自定义函数
}
但是在ie里(windows里?)ctrl+p是打印的快捷键。我现在需要按下ctrl+p时不执行打印,应该怎么办?

额外说明 我需要自定义很多的键盘事件,估计还会有和系统默认快键有冲突的地方。如果有禁止其它响应事件的方法,也请指点。

另外一个问题
我需要在某些状态下改变按键响应定义
我之前的按键定义函数是keytest,在body里调用
<body onkeydown="keytest()">
现在我需要在某些情况下执行另外一个按键定义函数 于是
function changekeyfunc(){
var eel=document.documentElement.lastChild //body
eel.onkeydown='newkeyfunc()'
}
function newkeyfunc(){
if(event.keycode){alert(event.keycode)}
}
之前的keytest()确实无效了 但是新的并没有生效

我想问题是不是在eel.onkeydown='newkeyfunc()'这里 ?
我把它换成eel.style.background='#ffffff'测试 确认读到了body 是不可以直接改变
之前的keytest()失效 那表示body的onkeydown确实被覆盖掉了的