JavaScript学习笔记6

简介: JavaScript学习笔记6

3、事件处理程序


事件处理程序即对事件的响应代码。可以是一行或几行脚本语句,如果代码量较大,则应用自定义函数包装这些脚本代码。


事件与事件处理程序的关联方式一共有三种:


  • 一是通过标签的事件属性


  • 二是通过对象的事件属性


  • 三是attachEvent或addEventListener


①标签的事件属性示例:


function body_load(){
 alert("body标签的onload属性 .页面加载");
}
<body οnlοad="body_load();"></body>
// onload方法是加载时触发该动作,上面代码的含义是在页面加载body标签时调用javascript的body_load()方法,而该方法运行结果是弹出一个警告对话框,消息内容为 body标签的onload属性 .页面加载。


②对象的事件属性示例:


<script>
对象.事件属性 = 事件处理程序;
</script> 
function window_resize(){
 alert("Window对象的onresize事件.窗口尺寸变化");
}
 window.onresize = window_resize;
// 以上javascript代码的含义是:浏览器窗口尺寸发生变化时,执行window_resize方法体中的事件处理程序代码。


4、事件对象


事件发生时,可能需要获得与此事件相关的信息,比如鼠标事件发生时鼠标的坐标,键盘事件发生是哪个键引起的,事件发生在哪个对象上等等。这些与事件的状态相关的信息可以Event事件对象获得。


①事件对象的获取示例


注意:要获得Event事件对象,可以在事件处理程序中访问Window对象的event属性,即window.event ,但这种方式仅适用于IE浏览器。在面向其他浏览器的代码中,应向事件处理函数传递event实参,这样在事件处理函数中可用形参表示Event对象。


<html>
<head>
    <script>
        function fun(evt) {
            //[事件处理程序,在这里可用形参evt表示Event事件对象]
            alert('evt.button返回当事件被触发时,哪个鼠标按钮被点击:' + evt.button);
            alert(' evt.clientX返回当事件被触发时,鼠标指针相对于页面正文的水平坐标:' + evt.clientX);
            alert('evt.clientY返回当事件被触发时,鼠标指针相对于页面正文的垂直坐标:' + evt.clientY);
            alert('evt.screenX返回当事件被触发时,鼠标指针相对于页面正文的垂直坐标:' + evt.screenX);
            alert('evt.screenY返回当事件被触发时,鼠标指针相对于页面正文的垂直坐标:' + evt.screenY);
            alert('evt.ctrlKey返回当事件被触发时,"CTRL" 键是否被按下:' + evt.ctrlKey);
            alert('evt.shiftKey返回当事件被触发时,"SHIFT" 键是否被按下:' + evt.shiftKey);
            alert('evt.altKey返回当事件被触发时,"ALT" 键是否被按下:' + evt.altKey);
            alert('evt.type返回事件的类型:' + evt.type);
            alert('evt.keyCode返回键的虚拟键盘代码或此键的字符的Unicode码。:' + evt.keyCode);
        }
    </script>
</head>
<body>
    <input type="button" id="btn" value="点我" οnclick="fun(event);" />
</body>
</html>


相关文章
|
3月前
|
JavaScript 前端开发 API
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
|
3月前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
2月前
|
JavaScript 前端开发
【干货分享】JavaScript学习笔记分享
【干货分享】JavaScript学习笔记分享
63 0
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的云的学习笔记系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的云的学习笔记系统附带文章源码部署视频讲解等
44 0
|
7月前
|
移动开发 JavaScript 前端开发
webgl学习笔记3_javascript的HTML DOM
webgl学习笔记3_javascript的HTML DOM
76 0
webgl学习笔记3_javascript的HTML DOM
|
7月前
|
JavaScript 前端开发 Java
webgl学习笔记2_javascript基础快速学习
webgl学习笔记2_javascript基础快速学习
55 0
|
7月前
|
前端开发 JavaScript API
JavaScript学习笔记(一)promise与async
JavaScript学习笔记(一)promise与async
|
7月前
|
存储 JavaScript
【ES6系列第二篇】适用JS初学者的Set对象和Map对象学习笔记
【ES6系列第二篇】适用JS初学者的Set对象和Map对象学习笔记
52 0
|
存储 JavaScript 前端开发
【js】函数概述学习笔记(8)
【js】函数概述学习笔记(8)
47 0
|
存储 JavaScript
【js】数组学习笔记(7-2)
【js】数组学习笔记(7-2)
72 0