JavaScript学习笔记(六)—— 异步编码
第七章 异步编码
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学习笔记(六)—— 异步编码的更多相关文章
- javascript学习笔记(四) Number 数字类型
数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数 toExponential() 方法 用科学 ...
- java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)
java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...
- JavaScript:学习笔记(9)——Promise对象
JavaScript:学习笔记(9)——Promise对象 引入Promise Primose是异步编程的一种解决方案,比传统的解决方案回调函数和事件更加合理和强大.如下面为基于回调函数的Ajax操作 ...
- 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 ...
- JavaScript:学习笔记(10)——XMLHttpRequest对象
JavaScript:学习笔记(10)——XMLHttpRequest对象 XHR对象 使用XMLHttpRequest (XHR)对象可以与服务器交互.您可以从URL获取数据,而无需让整个的页面刷新 ...
- Javascript学习笔记三——操作DOM(二)
Javascript学习笔记 在我的上一个博客讲了对于DOM的基本操作内容,这篇继续巩固一下对于DOM的更新,插入和删除的操作. 对于HTML解析的DOM树来说,我们肯定会时不时对其进行一些更改,在原 ...
- Spring Boot 学习笔记(六) 整合 RESTful 参数传递
Spring Boot 学习笔记 源码地址 Spring Boot 学习笔记(一) hello world Spring Boot 学习笔记(二) 整合 log4j2 Spring Boot 学习笔记 ...
- Java程序猿的JavaScript学习笔记(汇总文件夹)
最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...
- Java程序猿的JavaScript学习笔记(8——jQuery选择器)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿JavaScript学习笔记(2——复制和继承财产)
计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...
随机推荐
- SOJ 4580 动态规划之01背包 (01背包)
Description Sidney想去Gandtom家玩.但Sidney家和Gandtom家之间是高低不平.坑坑洼洼的土路.所以他需要用他的背包装几袋稀的泥,在路上铺平一些干的土,使路变成平整的泥土 ...
- Guava包学习--Hash
我们HashMap会有一个rehash的过程,为什么呢?因为java内建的散列码被限制为32位,而且没有分离散列算法和所作用的数据,所以替代算法比较难做.我们使用HashMap的时候它自身有一个reh ...
- 上手 Kubernetes
一.Kubernetes架构 二.重要的几个概念 1.Pod:最小单元 1.1 一个Pod里可以有多个Container 1.2这些container共享这个pod的同一个网络地址,同一个文件系统,通 ...
- 【转】Android随笔之——PackageManager详解
参考:http://www.cnblogs.com/xingfuzzhd/p/3374504.html 今天要讲的是PackageManager.Android系统为我们提供了很多服务管理的类,包括A ...
- Day12 Java异常处理与程序调试
什么是异常? 不正常的,会影响程序的正常执行流程. 例如下面的程序 public static void main(String[] args) { TestDemo1 t = new TestDem ...
- ethereumjs/ethereumjs-common-3-test
查看test能够让你更好滴了解其API文档的使用 ethereumjs-common/tests/chains.js const tape = require('tape') const Common ...
- repulsion-loss
行人检测中的mr,fppi这些指标??? 3种距离:欧式距离.SmoothL1距离.IoU距离 总的loss公式:3个部分组成Lattr是预测框和匹配的gt尽可能接近,Lrepgt是预测框和周围没匹配 ...
- webpack.config.js配置遇到Error: Cannot find module '@babel/core'问题
在webpack配置,将ES6转成ES5的时候,,出现Error: Cannot find module '@babel/core'错误最初以为是babel-core没有安装上.重装了好几遍babel ...
- ra寄存器定位core
$ra寄存器中存入的是pc的值(程序运行处的地址),调用函数时,在跳转前,必须保存当前地址(pc的值),以便后来返回.jal $ra 保存后跳转,jr $ra,返回到跳转前,通过$ra保存进入上层栈地 ...
- 实现Redis Cluster并实现Python链接集群
目录 一.Redis Cluster简单介绍 二.背景 三.环境准备 3.1 主机环境 3.2 主机规划 四.部署Redis 4.1 安装Redis软件 4.2 编辑Redis配置文件 4.3 启动R ...