专业编程基础技术教程

网站首页 > 基础教程 正文

JavaScript 事件对象和键盘事件的相关属性

ccvgpt 2024-08-27 13:36:21 基础教程 8 ℃
<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,因此常采用如下方法:

JavaScript 事件对象和键盘事件的相关属性

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>

Tags:

最近发表
标签列表