需求:当使用键盘快捷键时,能自动触发例如查询,保存等操作。
由于用到了masterpage和iframe,iframe随页面经常发生变化,所以键盘消息应该放到统一的处理方法,不能放到每个子页面。
利用事件流的冒泡机制,只需要捕获并处理document的onkeydown事件就可以了。
例子:
复制代码 代码示例:
function document.onkeydown(){
eventhandle(parm);
event.keyCode=0;
event.returnValue=false;
}
为了能支持IE之外的其它浏览器,可以利用javascript高级编程中的EventUtil类库
复制代码 代码示例:
window.onload = function() {
EventUtil.addEventHandler(document, "keydown", handle);
}
EventUtil类的addEventHandler方法提供了对IE和其它浏览器注册事件的支持
复制代码 代码示例:
EventUtil.addEventHandler = function (oTarget, sEventType, fnHandler) {
if (oTarget.addEventListener) {
oTarget.addEventListener(sEventType, fnHandler, false);
} else if (oTarget.attachEvent) {
oTarget.attachEvent("on" + sEventType, fnHandler);
} else {
oTarget["on" + sEventType] = fnHandler;
}
};
最后,页面中用了masterpage和iframe,当在iframe中调用的时候要加parent参数,消息处理中心放在masterpage页面即可。