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 ...
随机推荐
- BZOJ4891:[TJOI2017]龙舟(Pollard-Rho,exgcd)
Description 加里敦大学有一个龙舟队,龙舟队有n支队伍,每只队伍有m个划手,龙舟比赛是一个集体项目,和每个人的能力息息相关,但由于龙舟讲究配合,所以评价队伍的能力的是一个值c = (b1*b ...
- 【转】iOS - SQLite 数据库存储
本文目录 1.SQLite 数据库 2.iOS 自带 SQLite 的使用 3.fmdb 的使用 4.fmdb 多线程操作 5.其他 SQLite 的第三方封装库 回到顶部 1.SQLite 数据库 ...
- Python自动化之跨域访问jsonp
这里提到了JSONP,那有人就问了,它同JSON有什么区别不同和区别呢,接下我们就来看看,百度百科有以下说明: ''' 1. JSON(JavaScript Object Notation) 是一种轻 ...
- 了解python wed 框架
随着人工智能发展,python这门编程语言也渐渐被人们熟知.至于python为什么能AL的时代脱颖而出可以看一下旁边的网址了解一下https://blog.csdn.net/lixingshi/art ...
- smtp ssl模式邮件发送与附件添加
#!/usr/bin/python3 import os import smtplib from email.mime.text import MIMEText from email.mime.mul ...
- “C++动态绑定”相关问题探讨
一.相关问题: 1. 基类.派生类的构造和析构顺序 2. 基类.派生类中virtual的取舍 二.测试代码: #include <iostream> class A { public: A ...
- Redis高级特性---------事务与持久化与发布订阅
一.redis事务的用法 1.开启事务:multi 2.提交事务:exec ( queued只是把指令放入队列中,没有执行) 3.取消事务:discard 4.redis事务不能保证同时成功或者失 ...
- C++ 信号处理
原文:https://www.w3cschool.cn/cpp/cpp-signal-handling.html C++ 信号处理 信号是由操作系统传给进程的中断,会提早终止一个程序.在 UNIX.L ...
- react router animation example
https://github.com/reactjs/react-router/tree/80c71d57c936ed54babdde44309c01f6a4b56b77/examples/anima ...
- sqlplus 格式化一例
对字符型,用axx格式,对数字型,用9999 格式(999表示占用3列) SQL> col 'ts#' format 999SQL> col 'file#' format 999SQL&g ...