<script language="javascript">
if(window.event){
oEvent = window.event; //处理兼容性,获得事件对象
//设置IE的charCode值
oEvent.charCode = (oEvent.type == "keypress") ? oEvent.keyCode : 0; //键盘事件兼容性
}
</script>
由于IE浏览器没有charCode属性,而keyCode只有在keydown、keyup事件发生时才与标准DOM的keyCode相同,在
keypress事件中等同于charCode,因此常采用如下方法:
oEvent.charCode = (oEvent.type == "keypress") ? oEvent.keyCode : 0;
如:
<html>
<head>
<title>键盘事件</title>
<script language="javascript">
function handle(oEvent){
if(window.event){
oEvent = window.event; //处理兼容性,获得事件对象
//设置IE的charCode值
oEvent.charCode = (oEvent.type == "keypress") ? oEvent.keyCode : 0;
}
var oDiv = document.getElementById("display");
//输出测试
oDiv.innerHTML += oEvent.type + ": charCode:" + oEvent.charCode + " keyCode:" + oEvent.keyCode + "<br>";
}
window.onload = function(){
var oTextArea = document.getElementsByTagName("textarea")[0];
oTextArea.onkeypress = handle;
oTextArea.onkeydown = handle;
}
</script>
</head>
<body>
<textarea rows="4" cols="50"></textarea>
<div id="display"></div>
</body>
</html>