第七章 异步编码

1  事件处理程序

处理程序:即网页加载完毕后将执行的代码,称回调函数或监听器;

包含:处理函数+window.onload=函数名;

 <script language="JavaScript" type="text/JavaScript">

 function page(){

 alert("I'm alive!");

 }

 window.onload=page;

 </script>

2 响应事件的方式编写代码

getElementByTagName返回NodeList对象,

表示DOM事件对象的属性:

target:存储触发事件的对象;

type:是字符串,如("click","load")指出发生的是哪种事件

timeStamp:提供事件发生时间属性;

keyCode:告诉用户刚刚按下那个键

clientX:确定鼠标/单击位置离浏览器窗口左边缘有多远;

clientY:确定鼠标/单击位置离浏览器窗口上边缘有多远;

screenX:确定鼠标/单击位置离屏幕窗口左边缘有多远;

screenY:确定鼠标/单击位置离屏幕窗口上边缘有多远;

pageX:确定鼠标/单击位置离网页窗口左边缘有多远;

pageY:确定鼠标/单击位置离网页窗口上边缘有多远;

touches:在触摸设备上确定用户用多少根手指触摸屏幕;

程序1 单击+计时

 <!doctype html>

 <html lang="en">

 <head>

 <title>Image Guess</title>

 <meta charset="utf-8">

 <style type="text/css">

 body{margin:20px;}

 img{margin:20px;}

 </style>

 <script language="JavaScript" type="text/JavaScript">

 window.onload=init;

 //初始捕捉事件

 function init(){

 var images=document.getElementsByTagName("img");

 for(var i=0;i<images.length;i++)

 images[i].onclick=showAnswer;

 }

 //处理单击事件

 function showAnswer(e){//单击产生一个事件对象被传递

 var image=e.target;//target指出触发事件的元素

 var name=image.id;

 name=name+".jpg";

 image.src=name;

 setTimeout(reblur, 2000, image);

 }

 //时间事件,2秒后变回模糊

 function reblur(image) {

 var name = image.id;

 name = name + "blur.jpg";

 image.src = name;

 }

 /*

 function init(){

 var image=document.getElementById("zero");

 image.onclick=showAnswer;

 }

 window.onload=init;

 function showAnswer(){

 var image=document.getElementById("zero");

 image.src="zero.jpg";

 }

 */

 //鼠标自动

 /*

 window.onload = function() {

 var images = document.getElementsByTagName("img");

 for (var i = 0; i < images.length; i++) {

 images[i].onmouseover = showAnswer;

 images[i].onmouseout = reblur;

 }

 };

 function showAnswer(eventObj) {

 var image = eventObj.target;

 var name = image.id;

 name = name + ".jpg";

 image.src = name;

 }

 function reblur(eventObj) {

 var image = eventObj.target;

 var name = image.id;

 name = name + "blur.jpg";

 image.src = name;

 }

 */

 </script>

 </head>

 <body>

 <img id="zero" src="zeroblur.jpg" />

 <img id="one" src="oneblur.jpg" />

 <img id="two" src="twoblur.jpg" />

 <img id="three" src="threeblur.jpg" />

 <img id="four" src="fourblur.jpg" />

 <img id="five" src="fiveblur.jpg" />

 </body>

 </html>

程序2 鼠标位置

 <!doctype html>

 <html lang="en">

 <head>

   <meta charset="utf-8">

   <title>Pirates Booty</title>

   <script>

 window.onload = init;

 function init() {

 var map = document.getElementById("map");

 map.onmousemove = showCoords;

 }

 function showCoords(eventObj) {

 var coords = document.getElementById("coords");

 var x = eventObj.clientX;//获取位置

 var y = eventObj.clientY;

 coords.innerHTML = "Map coordinates: " + x + ", " + y;//修改

 }

   </script>

 </head>

 <body>

 <img id="map" src="map.jpg">

 <p id="coords">Move mouse over map to find coordinates...</p>

 </body>

 </html>

3 事件群英谱

click:单击触发

load:加载完网页触发

unload:关闭或切换到其他网页触发

mousemove:在元素上移动鼠标触发

mouseover:鼠标移至元素上触发

mouseout:鼠标移开元素触发

keypress:按下任何键触发

resize:调整浏览器窗口大小触发

play:单击<video>元素播放按钮触发

pause:单击<video>元素暂停按钮触发

dragstart:用户拖曳网页元素时触发

drop:放下拖曳元素触发

touchstart:触摸设备,触摸并按住元素触发

touchend:停止触摸触发;

JavaScript学习笔记(六)—— 异步编码的更多相关文章

  1. javascript学习笔记(四) Number 数字类型

    数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数  toExponential() 方法 用科学 ...

  2. java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)

    java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...

  3. JavaScript:学习笔记(9)——Promise对象

    JavaScript:学习笔记(9)——Promise对象 引入Promise Primose是异步编程的一种解决方案,比传统的解决方案回调函数和事件更加合理和强大.如下面为基于回调函数的Ajax操作 ...

  4. ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET MVC 学习笔记-6.异步控制器 ASP.NET MVC 学习笔记-5.Controller与View的数据传递 ASP.NET MVC 学习笔记-4.ASP.NET MVC中Ajax的应用 ASP.NET MVC 学习笔记-3.面向对象设计原则

    ASP.NET MVC 学习笔记-7.自定义配置信息   ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettin ...

  5. JavaScript:学习笔记(10)——XMLHttpRequest对象

    JavaScript:学习笔记(10)——XMLHttpRequest对象 XHR对象 使用XMLHttpRequest (XHR)对象可以与服务器交互.您可以从URL获取数据,而无需让整个的页面刷新 ...

  6. Javascript学习笔记三——操作DOM(二)

    Javascript学习笔记 在我的上一个博客讲了对于DOM的基本操作内容,这篇继续巩固一下对于DOM的更新,插入和删除的操作. 对于HTML解析的DOM树来说,我们肯定会时不时对其进行一些更改,在原 ...

  7. Spring Boot 学习笔记(六) 整合 RESTful 参数传递

    Spring Boot 学习笔记 源码地址 Spring Boot 学习笔记(一) hello world Spring Boot 学习笔记(二) 整合 log4j2 Spring Boot 学习笔记 ...

  8. Java程序猿的JavaScript学习笔记(汇总文件夹)

    最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...

  9. Java程序猿的JavaScript学习笔记(8——jQuery选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  10. Java程序猿JavaScript学习笔记(2——复制和继承财产)

    计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...

随机推荐

  1. 超链接<a>标签用法

    1.a标签点击事件 1>1a href="javascript:js_method();" 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且 ...

  2. gcd?人生赢家!

    题目背景 原创:b2019dy gcd是一个热爱游戏的人 题目描述 gcd最近在玩一个有趣的游戏 我们把这个游戏抽象成一张图,图上有n个点,我们需要寻找总计m件宝物,它们分布在图上,对于每件宝物而言, ...

  3. net mvc中实现记录用户登录信息(记住登录效果)

    现记录用户登录信息(记住登录效果) 本文讲述了使用cookies实现网站记住登录效果,效果如下: 主要实现方法,当用户选择记住登录时建立cookies保存用户名和用户密码,当用户登录不选择记住登录时, ...

  4. [USACO08NOV]Cheering up the Cow

    嘟嘟嘟 这道题删完边后是一棵树,那么一定和最小生成树有关啦. 考虑最后的生成树,无论从哪一个点出发,每一条边都会访问两次,而且在看一看样例,会发现走第w条边(u, v)的代价是L[w] * 2 + c ...

  5. 调试cnn-Sentence-Classifier遇到的问题

    运行train文件训练模型出现了以下错误: train文件在app文件目录下: raw_vectors.txt文件则在cnn-Sentence-Classifier目录下: 这是train代码调用re ...

  6. POJ 2251 Dungeon Master(多层地图找最短路 经典bfs,6个方向)

    Dungeon Master Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 48380   Accepted: 18252 ...

  7. K2 BPM介绍(2)

    K2 BPM介绍(2) 上一篇已经讲了一些K2 BPM基本特性,本遍讲K2 BPM大概的组件以及组件关系. K2 BPM组件 K2 BPM分别由以下组件构成: K2产品已经发展很多年,所以它有很多版本 ...

  8. Asp.Net写入读取Xml(处理文件权限)

    1,网上关于读取写入Xml的博客比较多,参考了发现提到Xml文件权限的博客比较少.因为在开发中我发现,如果文件存于一些没有权限的路径,代码是访问不到该文件,页面会报错提示403,Forbidden.意 ...

  9. 电商 APP 下单页(俗称车2) 业务流程概要设计

    购物车是电商APP的一个关键功能点,一般购物车包含 3-4 个页面,分别是: 1.购物车的商品列表页 2.商品下单页 3.订单付款页面 4.订单付款成功页面 由于现有购物车逻辑相对混乱,这里重新整理一 ...

  10. Yii2 的安装及简单使用

    前段时间第一次使用Yii2框架,碰到了一些问题,这里记录一下. Yii2安装:通过composer安装 1.首先要安装composer,我在另外一篇博客中介绍了如何在Windows下安装compose ...