JavaScript--事件入门(24)
// JavaScript事件是由访问Web页面的用户引起的一系列操作;
// 例如:用户点击;当用户执行某些操作的时候,再去执行一系列代码;
一 事件介绍
// 事件一般是用于浏览器和用户操作进行交互;最早是IE和Netscape Navigator中出现,作为分担服务器端元算负载的一种手段;
// 而DOM2级规范开始尝试以一种符合逻辑的方式标准化DOM事件;
// IE9/Firefox/Opera/Safari和Chrome全部已经实现了"DOM2级事件"模块的核心部分;
// IE8之前浏览器仍然使用其专有事件模型;
// JavaScript有三种事件模型:内联模型/脚本模型和DOM2模型;
二 内联模型(HTML事件处理程序)
// 这种模型是最传统的简单的一种处理事件的方法;
// 在内联模型中,事件处理函数是HTML标签的一个属性,用于处理指定事件;
// 虽然内联在早期使用较多,但它是和HTML混写的,并没有与HTML分离; // 在HTML中把事件处理函数作为属性执行JS代码;
<input type="button" value="按钮" onclick="alert('Lee');" /> // 注意单双引号;
// 在HTML中把事件处理函数作为属性执行JS函数;
<input type="button" value="按钮" onclick="box();" /> // 执行JS的函数;
// PS:函数不得放到window.onload里面,这样就看不见了;
三 脚本模型(DOM0级事件处理程序)
// 由于内联模型违反了HTML和JavaScript代码层次分离的原则;
// 我们可以在JavaScript中处理事件,这种处理方式就是脚本模型;
var input = document.getElementsByTagName('input')[0]; // 得到input对象;
input.onclick = function(){ // 匿名函数执行;
alert('Lee');
}
// PS:通过匿名函数,可以直接触发对应的代码;
// 也可以通过指定的函数名赋值的方式来执行函数(赋值的函数名不要跟括号);
input.onclick = box; // 把匿名函数赋值给事件处理函数;
input.onclick = null; // 删除事件处理程序;
四 事件处理函数
// JavaScript可以处理的事件类型为:鼠标事件/键盘事件/HTML事件;
JavaScript事件处理函数及其使用列表
事件处理函数 影响的元素 何时发生
onabort 图像 当图像加载被中断时;
onblur 窗口/框架/所有表单对象 当焦点从对象上移开时;
onchange 输入框/选择框/文本域 当改变一个元素的值且失去焦点时;
onclick 链接/按钮/表单对象/图像等 当用户单击对象时;
ondblclick 链接/按钮/表单对象 当用户双击对象时;
ondragdrop 窗口 当用户将一个对象拖放到浏览器窗口时;
onError 窗口/框架/所有表单对象 当脚本中发生语法错误时;
onfocus 窗口/框架/所有表单对象 当单击鼠标或将鼠标移动聚焦到窗口或框架时;
onkeydown 文档/图像/链接/表单 当按键被按下时;
onkeypress 文档/图像/连接/表单 当按键被按下然后松开时;
onkeyup 文档/图像/链接/表单 当按键被松开时;
onload 主体/框架集/图像 文档或图像加载后;
onunload 主体/框架集 文档或框架集卸载后;
onmouseout 链接 当图标移除链接时;
onmouseover 链接 当鼠标移到链接时;
onmove 窗口 当浏览器窗口移动时;
onreset 表单复位按钮 单击表单的reset按钮;
onresize 窗口 当改变浏览器窗口大小时;
onselect 表单元素 当选择一个表单对象时;
onsubmit 表单 当发送表格到服务器时;
// PS:对于每一个事件,它都有自己的触发范围和方式,事件处理将失效;
1.鼠标事件,页面所有元素都可触发
(1).click:当用户单击鼠标按钮或按下回车键时触发;
input.onclick = function(){
alert('Lee');
}; (2).dblclick:当用户双击鼠标按钮时触发;
input.ondblclick = function(){
alert('Lee');
} (3).mousedown:当用户按下鼠标还未弹起时触发;
input.onmousedown = function(){
alert('Lee');
} (4)mouseup:当用户释放鼠标按钮时触发;
input.onmouseup = function(){
alert('Lee');
} (5).mouseover:当鼠标移到某个元素上方时触发;
input.onmouseover = function(){
alert('Lee');
} (6).mouseout:当鼠标移出某个元素上方时触发;
input.onmouseout = function(){
alert('Lee');
} (7).mousemove:当鼠标指针在元素上移动时触发;
input.onmousemove = function(){
alert('Lee');
}
2.键盘事件
(1).keydown:当用户按下键盘上任意键触发,如果按住不放,会重复触发;
onkeydown = function(){
alert('Lee');
} (2).keypress:当用户按下键盘上的字符键触发,如果按住不放,会重复触发;
onkeypress = function(){
alert('Lee');
} (3).keyup:当用户释放键盘上的键触发;
onkeyup = function(){
alert('Lee');
}
3.HTML事件
(1).load:当页面完全加载后(包括所有图像/JavaScript文件/CSS文件等外部资源),就会触发window上面的load事件;
window.onload = function(){
alert('Lee');
} // 图像上面也可以触发load事件,无论是在DOM中的图像元素还是HTML中的图像元素;
// 因此可以在HTML中为任何图像指定onload事件处理程序;
<img src='smile.client.gif' onload="alert('Image loaded.')" >
// PS:新图像元素不一定是从添加到文档后才开始下载,只要设置src属性就会开始下载; // <script>元素也会触发load事件,以便开发人员确定动态加载的JavaScript文件是否加载完毕;
// 与图像不同,只有在设置了<script>元素的src属性并将该元素添加到文档后,才会开始下载JavaScript文件;
(2).unload:当文档被完全卸载后触发;
// 只要用户从一个页面切换到另一个页面,就会发生unload事件;
// 而利用这个事件最多的情况是清除引用,以避免内存泄漏;
window.onunload = function(){
alert('Lee');
}
(3).select:当用户选择文本框(input或textarea)内容改变且失去焦点后触发;
input.onselect = function(){
alert('Lee');
}
(4).change:当文本框(input或textarea)内容改变且失去焦点后触发;
input.onchange = function(){
alert('Lee');
}
(5).focus:当页面或元素获得焦点时在window及相关元素上面触发;这个事件不会冒泡;
input.onfocus = function(){
alert('Lee');
}
(6).blur:当页面或元素失去焦点时在window及相关元素上触发;这个事件不会冒泡;
input.onblur = function(){
alert('Lee');
}
(7).submit:当用户点击提交按钮在<form>元素上触发;
form.onsubmit = function(){
alert('Lee');
}
(8).reset:当用户点击重置按钮在<form>元素上触发;
form.onreset = function(){
alert('Lee');
}
(9).resize:当浏览器窗口被调整到一个新的高度或宽度时,就会触发resize事件;
// 这个事件在window(窗口)上触发;浏览器窗口最大化或最小化也会触发resize事件;
// IE/Safari/Chrome和Opera会在浏览器变化时不断触发resize事件;
// Firefox则只会在用户停止调整窗口大小时才会触发resize事件;
window.onresize = function(){
alert('Lee');
}
(10).scroll:当用户滚动滚动条的元素使触发;
window.onscroll = function(){
alert('Lee');
}
JavaScript--事件入门(24)的更多相关文章
- 第一百一十九节,JavaScript事件入门
JavaScript事件入门 学习要点: 1.事件介绍 2.内联模型 3.脚本模型 4.事件处理函数 JavaScript事件是由访问Web页面的用户引起的一系列操作,例如:用户点击.当用户执行某些操 ...
- JavaScript 事件入门
一.事件介绍 JavaScript 有三种事件模型:内联模型.脚本模型和 DOM2 模型. 二.内联模型 //在 HTML 中把事件处理函数作为属性执行 JS 代码 <input type=&q ...
- JavaScript事件---事件入门
内容提纲: 1.事件介绍 2.内联模型 3.脚本模型 4.事件处理函数 JavaScript事件是由访问Web页面的用户引起的一系列操作,例如:用户点击.当用户执行某些操作的时候,再去执行一系列代码. ...
- JavaScript(第二十三天)【事件入门】
JavaScript事件是由访问Web页面的用户引起的一系列操作,例如:用户点击.当用户执行某些操作的时候,再去执行一系列代码. 一.事件介绍 事件一般是用于浏览器和用户操作进行交互.最早是IE和 ...
- JavaScript onkeydown事件入门实例(键盘某个按键被按下)
JavaScript onkeydown 事件 用户按下一个键盘按键时会触发 onkeydown 事件.与 onkeypress事件不同的是,onkeydown 事件是响应任意键按下的处理(包括功能键 ...
- JavaScript基础入门07
目录 JavaScript 基础入门07 BOM window对象 Navigator对象 Screen 对象 Location对象 History 对象 JavaScript 基础入门07 BOM ...
- JavaScript从入门到精通(转)
JavaScript从入门到精通 转自: https://github.com/Eished/JavaScript_notes 视频连接:https://www.bilibili.com/video/ ...
- 【移动端兼容问题研究】javascript事件机制详解(涉及移动兼容)
前言 这篇博客有点长,如果你是高手请您读一读,能对其中的一些误点提出来,以免我误人子弟,并且帮助我提高 如果你是javascript菜鸟,建议您好好读一读,真的理解下来会有不一样的收获 在下才疏学浅, ...
- 重温javascript事件机制
以前用过一段时间的jquery感觉太方便,太强大了,各种动画效果,dom事件.创建节点.遍历.控件及UI库,应有尽有:开发文档也很多,网上讨论的问题更是甚多,种种迹象表明jquery是一个出色的jav ...
- JavaScript事件---事件对象
发文不易,若转载传播,请亲注明出处,谢谢! 内容提纲: 1.事件对象 2.鼠标事件 3.键盘事件 4.W3C与IE JavaScript事件的一个重要方面是它们拥有一些相对一致的特点,可以给你的开 ...
随机推荐
- python 通过pytz模块进行时区的转换,获取指定时区的时间
import pytz import time import datetime print(pytz.country_timezones('cn')) # 查询中国所拥有的时区 print(pytz. ...
- 使用sqlmap对进行php+mysql注入实战
作者:陈小兵一般来讲一旦网站存在sql注入漏洞,通过sql注入漏洞轻者可以获取数据,严重的将获取webshell以及服务器权限,但在实际漏洞利用和测试过程中,也可能因为服务器配置等情况导致无法获取权限 ...
- 跟着刚哥学习Spring框架--JDBC(六)
Spring的JDBC框架 Spring JDBC提供了一套JDBC抽象框架,用于简化JDBC开发. Spring主要提供JDBC模板方式.关系数据库对象化方式.SimpleJdbc方式.事务管理来简 ...
- oracle数据库迁移相关
常见的实现方式: rman exp/imp expdp/impdp DG OGG 主要是看停机时间了,方法很多,数据量小,就导出,如果时间要求很高,那可以采取dg或ogg或类似的技术.减低downt ...
- Oracle修改指定表空间为自动扩展
1.数据文件自动扩展的好处 1)不会出现因为没有剩余空间可以利用到数据无法写入 2)尽量减少人为的维护 3)可以用于重要级别不是很大的数据库中,如测试数据库等 2.数据文件自动扩展的弊端 1)如果任其 ...
- tensorflow进阶篇-5(反向传播2)
上面是一个简单的回归算法,下面是一个简单的二分值分类算法.从两个正态分布(N(-1,1)和N(3,1))生成100个数.所有从正态分布N(-1,1)生成的数据目标0:从正态分布N(3,1)生成的数据标 ...
- 查看MySQL 表结构
前言:最近在实习中,做到跟MySQL相关的开发时,想起了好久前的一个笔试题——查看数据库表结构有哪几种方法: (一)使用DESCRIBE语句 DESCRIBE table_name; 或DESC ta ...
- POJ2418 Hardwood Species—二叉查找树应用
1. Hardwood Species原题描述 Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 14326 Acce ...
- <context:component-scan>子标签:<context:include-filter>和<context:exclude-filter>使用时要注意的地方
在Spring MVC中的配置中一般会遇到这两个标签,作为<context:component-scan>的子标签出现. 但在使用时要注意一下几点: 1.在很多配置中一般都会吧Spring ...
- git第二节----git clone与git tag
@git 远程克隆(clone)仓库,将远程工程clone到本地仓库:默认克隆远程master 分支 git clone https://github.com/kaokaozhu/Test.git ...