JavaScript(第二十三天)【事件入门】
JavaScript事件是由访问Web页面的用户引起的一系列操作,例如:用户点击。当用户执行某些操作的时候,再去执行一系列代码。
一.事件介绍
事件一般是用于浏览器和用户操作进行交互。最早是IE和Netscape Navigator中出现,作为分担服务器端运算负载的一种手段。直到几乎所有的浏览器都支持事件处理。而DOM2级规范开始尝试以一种复合逻辑的方式标准化DOM事件。IE9、Firefox、Opera、Safari和Chrome全都已经实现了“DOM2级事件”模块的核心部分。IE8之前浏览器仍然使用其专有事件模型。
JavaScript有三种事件模型:内联模型、脚本模型和DOM2模型。
二.内联模型
这种模型是最传统接单的一种处理事件的方法。在内联模型中,事件处理函数是HTML标签的一个属性,用于处理指定事件。虽然内联在早期使用较多,但它是和HTML混写的,并没有与HTML分离。
//在HTML中把事件处理函数作为属性执行JS代码
<input type="button" value="按钮" onclick="alert('Dkf');" /> //注意单双引号
//在HTML中把事件处理函数作为属性执行JS函数
<input type="button" value="按钮" onclick="box();" /> //执行JS的函数
PS:函数不得放到window.onload里面,这样就看不见了。
三.脚本模型
由于内联模型违反了HTML与JavaScript代码层次分离的原则。为了解决这个问题,我们可以在JavaScript中处理事件。这种处理方式就是脚本模型。
var input = document.getElementsByTagName('input')[0]; //得到input对象
input.onclick = function () { //匿名函数执行
alert('Dkf');
};
PS:通过匿名函数,可以直接触发对应的代码。也可以通过指定的函数名赋值的方式来执行函数(赋值的函数名不要跟着括号)。
input.onclick = box; //把函数名赋值给事件处理函数
四.事件处理函数
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:所有的事件处理函数都会都有两个部分组成,on + 事件名称,例如click事件的事件处理函数就是:onclick。在这里,我们主要谈论脚本模型的方式来构建事件,违反分离原则的内联模式,我们忽略掉。
对于每一个事件,它都有自己的触发范围和方式,如果超出了触发范围和方式,事件处理将失效。
1.鼠标事件,页面所有元素都可触发
click:当用户单击鼠标按钮或按下回车键时触发。
input.onclick = function () {
alert('Dkf');
};
dblclick:当用户双击主鼠标按钮时触发。
input.ondblclick = function () {
alert('Dkf');
};
mousedown:当用户按下了鼠标还未弹起时触发。
input.onmousedown = function () {
alert('Dkf');
};
mouseup:当用户释放鼠标按钮时触发。
input.onmouseup = function () {
alert('Dkf');
};
mouseover:当鼠标移到某个元素上方时触发。
input.onmouseover = function () {
alert('Dkf');
};
mouseout:当鼠标移出某个元素上方时触发。
input.onmouseout = function () {
alert('Dkf');
};
mousemove:当鼠标指针在元素上移动时触发。
input.onmousemove = function () {
alert('Dkf');
};
2.键盘事件
keydown:当用户按下键盘上任意键触发,如果按住不放,会重复触发。
onkeydown = function () {
alert('Dkf');
};
keypress:当用户按下键盘上的字符键触发,如果按住不放,会重复触发。
onkeypress = function () {
alert('Dkf');
};
keyup:当用户释放键盘上的键触发。
onkeyup = function () {
alert('Dkf');
};
3.HTML事件
load:当页面完全加载后在window上面触发,或当框架集加载完毕后在框架集上触发。
window.onload = function () {
alert('Dkf');
};
unload:当页面完全卸载后在window上面触发,或当框架集卸载后在框架集上触发。
window.onunload = function () {
alert('Dkf');
};
select:当用户选择文本框(input或textarea)中的一个或多个字符触发。
input.onselect = function () {
alert('Dkf');
};
change:当文本框(input或textarea)内容改变且失去焦点后触发。
input.onchange = function () {
alert('Dkf');
};
focus:当页面或者元素获得焦点时在window及相关元素上面触发。
input.onfocus = function () {
alert('Dkf');
};
blur:当页面或元素失去焦点时在window及相关元素上触发。
input.onblur = function () {
alert('Dkf');
};
submit:当用户点击提交按钮在<form>元素上触发。
form.onsubmit = function () {
alert('Dkf');
};
reset:当用户点击重置按钮在<form>元素上触发。
form.onreset= function () {
alert('Dkf');
};
resize:当窗口或框架的大小变化时在window或框架上触发。
window.onresize = function () {
alert('Dkf');
};
scroll:当用户滚动带滚动条的元素时触发。
window.onscroll = function () {
alert('Dkf');
};
JavaScript(第二十三天)【事件入门】的更多相关文章
- c#委托事件入门--第二讲:事件入门
上文 c#委托事件入门--第一讲:委托入门 中和大家介绍了委托,学习委托必不可少的就要说下事件.以下思明仍然从事件是什么.为什么用事件.怎么实现事件和总结介绍一下事件 1.事件是什么:. 1.1 NE ...
- 第一百一十九节,JavaScript事件入门
JavaScript事件入门 学习要点: 1.事件介绍 2.内联模型 3.脚本模型 4.事件处理函数 JavaScript事件是由访问Web页面的用户引起的一系列操作,例如:用户点击.当用户执行某些操 ...
- JavaScript 事件入门
一.事件介绍 JavaScript 有三种事件模型:内联模型.脚本模型和 DOM2 模型. 二.内联模型 //在 HTML 中把事件处理函数作为属性执行 JS 代码 <input type=&q ...
- JavaScript事件---事件入门
内容提纲: 1.事件介绍 2.内联模型 3.脚本模型 4.事件处理函数 JavaScript事件是由访问Web页面的用户引起的一系列操作,例如:用户点击.当用户执行某些操作的时候,再去执行一系列代码. ...
- JavaScript学习06 JS事件对象
JavaScript学习06 JS事件对象 事件对象:当事件发生时,浏览器自动建立该对象,并包含该事件的类型.鼠标坐标等. 事件对象的属性:格式:event.属性. 一些说明: event代表事件的状 ...
- 《驾驭Core Data》 第二章 Core Data入门
本文由海水的味道编译整理,请勿转载,请勿用于商业用途. 当前版本号:0.4.0 第二章 Core Data入门 本章将讲解Core Data框架中涉及的基本概念,以及一个简单的Core Data ...
- javascript - 工作笔记 (事件四)
在javascript - 工作笔记 (事件绑定二)篇中,我将事件的方法做了简单的包装, JavaScript Code 12345 yx.bind(item, "click&quo ...
- Gradle 1.12用户指南翻译——第二十三章. Java 插件
其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...
- 第一百三十六节,JavaScript,封装库--事件绑定
JavaScript,封装库--事件绑定 在函数库添加两个函数 添加事件绑定函数 删除事件绑定函数 添加事件绑定函数 /** addEvent()函数库函数,跨浏览器添加事件绑定,注意:传入事件名称时 ...
随机推荐
- tar、scp、sftp、rsync简单使用
tar -c 创建一个归档文件 -z 指定压缩格式为gzip -v 显示详细信息 -f 制定文件明 -j 指定压缩格式为bz2 -J 指定压缩格式为 xz -C 压缩.解压至某个目录 -x 自动识别压 ...
- spring boot + vue + element-ui全栈开发入门——基于Electron桌面应用开发
前言 Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库. Electron通过将Chromium和Node.js合并到同一个运行时环 ...
- 原生态的ajax代码
<script type="text/javascript"> var xmlhttprequest; function GetXmlHttpRequest() { i ...
- PHP二维数组搜索返回数组
$ar = array( 2 => array( 'catid' => 2, 'catdir' => 'notice', ), 5 => array( 'catid' => ...
- [.Net Core] 简单使用 Mvc 内置的 Ioc
简单使用 Mvc 内置的 Ioc 本文基于 .NET Core 2.0. 鉴于网上的文章理论较多,鄙人不才,想整理一份 Hello World(Demo)版的文章. 目录 场景一:简单类的使用 场景二 ...
- 使用JSONP实现跨域
什么是跨域? 简单的来说,出于安全方面的考虑,页面中的JavaScript无法访问其他服务器上的数据,即"同源策略".而跨域就是通过某些手段来绕过同源策略限制,实现不同服务器之间通 ...
- Java 小记 — Spring Boot 的实践与思考
前言 本篇随笔用于记录我在学习 Java 和构建 Spring Boot 项目过程中的一些思考,包含架构.组件和部署方式等.下文仅为概要,待闲时逐一整理为详细文档. 1. 组件 开源社区如火如荼,若在 ...
- C++调用C方法
//1,编译静态库 libtest.a gcc -c test.c -o test.o ar rc libtest.a test.o //2,编译main函数 g++ -o main main.cpp ...
- MongoDB3.6之Replica Set初步体验
Replica Set在国内叫做副本集,简单来说就是一份数据在多个地方存储. 1.为什么要用副本集,什么时候使用副本集? 有人说一份数据在多个地方存储占用了大量的额外空间,是一种浪 ...
- three.js 实现全景以及优化(1)
实现一个三维全景; 然后思考优化问题; 于是我问了下webgl技术交流群朋友有啥解决方案; 对于krpano.js 的了解,只是知道百度全景用了这个技术; 最后还是选择了群友给出的three.js ...