感谢:链接(视频讲解很详细)

JavaScript触发器

一、功能

顾名思义就是操控鼠标或键盘触发(实现)一些特定功能。

二、功能实现

<script type="text/javascript">
var changeColor=function () {
document.body.style.backgroundColor='purple';
}
document.body.οnclick=changeColor;
document.body.addEventListener('click',changeColor);
//上面两个操作都是实现点击html的body区域会调用函数,但有区别,下面会讲解
</script>

三、两种实现方式的区别

方法一:

<script type="text/javascript">
var changeColor=function() {
document.body.style.backgroundColor='purple';
}
var changeFount=function(){
document.body.style.fontSize='5px';
document.body.style.color='green';
}
document.body.οnclick=changeColor;
document.body.οnclick=changeFount;
</script>

运行截图:(可以看到,多个操作同时作用在body中仅实现了最后的一个操作,即只修改了文字大小)

方法二:

<script type="text/javascript">
var changeColor=function() {
document.body.style.backgroundColor='purple';
}
var changeFount=function(){
document.body.style.fontSize='5px';
document.body.style.color='green';
}
document.body.addEventListener('click',changeColor);
document.body.addEventListener('click',changeFount);
///区别第一种操作
</script>

运行截图:(多个操作都实现了,即改变了背景颜色又修改了字体大小)

总结:多个onclick同时作用在一个对象时,只会实现最后的一个,但addElementListener会依次实现每一个操作。

二、具体常用事件分类

(图源上面视频链接,通过比较上面的两种实现方法,主要选用第二种实现)

1、鼠标事件(代码中注释描述很清晰,不再截运行图)

<script type="text/javascript">
var al=function(){ //弹窗函数
alert('nihao');
}
document.body.addEventListener('click',al); //鼠标点击body区域弹窗
document.body.addEventListener('mousedown',al);//鼠标按下左键弹窗
document.body.addEventListener('mouseup',al);//鼠标松开左键弹窗
document.body.addEventListener('mousewheel',al);//鼠标滚动滚轮弹窗
document.body.addEventListener('mousemove',al); //鼠标移动弹窗
document.body.addEventListener('mouseenter',al); //鼠标指针滑入body区域弹窗
document.body.addEventListener('mouseleave',al); //鼠标指针滑出body区域弹窗
</script>

2、键盘事件(一般要在document下,而不是其它对象下实现)

//注意时document. 和上面不同
<script type="text/javascript">
var al=function(){ //弹窗函数
alert('nihao');
}
document.addEventListener('keypress',al); //按一下按键弹窗
document.addEventListener('keydown',al); //按下按键弹窗
document.addEventListener('keyup',al); //松开按键弹窗
</script>

3、表单事件

<script type="text/javascript">
var condition=function(){ //函数
console.log('点击了文本框');
}
var inp0=document.getElementById('i0');
inp0.addEventListener('focus',condition);//点击输入框内部时调用函数
//inp0.addEventListener('blur',condition);//从输入框中脱离时(点击输入框外面时)调用函数
//inp0.addEventListener('input',condition);//在输入框中输入时调用函数
</script>

运行截图:(用到了Chrome的console调试台,不懂的看:链接)

4、页面事件

解决:上面学习了键盘事件,可怎么知道按的是什么键?

①先从调控台看下result中是什么

<script type="text/javascript">
var condition=function(result){ //弹窗函数
console.log(result);
}
document.addEventListener('keypress',condition);
</script>

运行截图:(其实我按的就是p)

②所以进一步修改代码:

<script type="text/javascript">
var condition=function(result){ //弹窗函数
console.log(result.key); //因为p被放在key这个键里面了,所以访问它就行了
}
document.addEventListener('keypress',condition);
</script>

运行截图:(这样就实现了)

文中哪里有错误请联系我。

JavaScript触发器的更多相关文章

  1. 一个JavaScript触发器插件,可通过指定频次、指定时间内触发指定的处理函数

    js-trigger是一个JavaScript触发器插件,可通过指定频次.指定时间内触发指定的处理函数 Tango<tanwei_yx@126.com> 特性 支持AMD/CMD/Comm ...

  2. 推荐一个JavaScript触发器插件,可通过指定频次、指定时间内触发指定的处理函数

    推荐一个JavaScript触发器插件js-trigger js-trigger是一个JavaScript触发器插件,可通过指定频次.指定时间内触发指定的处理函数 https://tanwei-cc. ...

  3. javascript 触发器

    <script type="text/javascript"> function time_logs() { var time = new Date(); var ho ...

  4. 什么是 dynaTrace Ajax

    随着 jQuery.Dojo.YUI 等框架的兴起让构建 Web2.0 应用更加容易,但随之带来的定位等应用问题也越来越难,尤其是与性能相关的.dynaTrace Ajax Edition 是一个强大 ...

  5. javascript事件触发器fireEvent和dispatchEvent

    javascript事件触发器fireEvent和dispatchEvent   事件触发器就是用来触发某个元素下的某个事件,IE下fireEvent方法,高级浏览器(chrome,firefox等) ...

  6. javascript 技巧总结积累(正在积累中)

    1.文本框焦点问题 onBlur:当失去输入焦点后产生该事件 onFocus:当输入获得焦点后,产生该文件 Onchange:当文字值改变时,产生该事件 Onselect:当文字加亮后,产生该文件 & ...

  7. Atitit  数据库的事件机制--触发器与定时任务attilax总结

    Atitit  数据库的事件机制--触发器与定时任务attilax总结 1.1. 事件机制的图谱1 2. 触发器的类型2 3. 实现原理 After触发器 Vs Instead Of触发器2 3.1. ...

  8. 总结JavaScript事件机制

    JavaScript事件模型 在各种浏览器中存在三种事件模型: 原始事件模型 , DOM2事件模型 , IE事件模型. 其中原始的事件模型被所有浏览器所支持,而DOM2中所定义的事件模型目前被除了IE ...

  9. JavaScript异步编程(1)- ECMAScript 6的Promise对象

    JavaScript的Callback机制深入人心.而ECMAScript的世界同样充斥的各种异步操作(异步IO.setTimeout等).异步和Callback的搭载很容易就衍生"回调金字 ...

随机推荐

  1. Docker容器启动时初始化Mysql数据库

    1. 前言 Docker在开发中使用的越来越多了,最近搞了一个Spring Boot应用,为了方便部署将Mysql也放在Docker中运行.那么怎么初始化 SQL脚本以及数据呢? 我这里有两个传统方案 ...

  2. [JavaWeb基础] 009.Struts2 上传文件

    在web开发中,我们经常遇到要把文件上传下载的功能,这篇文章旨在指导大家完成文件上传功能 1.首先我们需要一个上传文件的页面. <!--在进行文件上传时,表单提交方式一定要是post的方式, 因 ...

  3. @Spring Boot程序员,我们一起给程序开个后门吧:让你在保留现场,服务不重启的情况下,执行我们的调试代码

    前言 这篇其实是对一年前的一篇文章的补坑. @Java Web 程序员,我们一起给程序开个后门吧:让你在保留现场,服务不重启的情况下,执行我们的调试代码 当时,就是在spring mvc应用里定义一个 ...

  4. Java中的集合(三)继承Collection的Queue接口

    Java中的集合(三)继承Collection的Queue接口 一.Queue介绍 Queue接口继承自Collection接口,是Java中定义的一种队列数据结构,元素是有序的(按插入顺序排序),先 ...

  5. ATT&CK如何落地到安全产品

    科普:ATT&CK是什么 ATT&CK的提出是为了解决业界对黑客行为.事件的描述不一致.不直观的问题,换句话说它解决了描述黑客行为 (TTP) 的语言和词库,将描述黑客攻击的语言统一化 ...

  6. Orcle 查询语句

    首先,以超级管理员的身份登录oracle       sqlplus sys/bjsxt as sysdba   --然后,解除对scott用户的锁       alter user scott ac ...

  7. SpringAOP使用及源码分析(SpringBoot下)

    一.SpringAOP应用 先搭建一个SpringBoot项目 <?xml version="1.0" encoding="UTF-8"?> < ...

  8. 跟着阿里学JavaDay06——Java基础语法(四)

    一.方法 方法执行到return语句后,这个方法的执行就结束了,方法可以有返回值,但可以不用这个返回值.方法首先要定义,然后才能调用. public class TestMethod{ public ...

  9. C#中的TemplateMethod模式

    一个真实的故事 大学的时候就开过一门课程,讲设计模式,可是大学生没什么编程实践经验,在大学里面听设计模式的感觉,就像听天书.听着都有道理,可是完全领会不到其中的奥妙,大抵原因就在于没有走过弯路,没有吃 ...

  10. Java实现 蓝桥杯VIP 算法提高 P0404

    计算一个无符号整数的阿尔法乘积.对于一个无符号整数x来说,它的阿尔法乘积是这样来计算的:如果x是一个个位数,那么它的阿尔法乘积就是它本身:否则的话,x的阿尔法乘积就等于它的各位非0的数字相乘所得到的那 ...