JavaScript触发器
感谢:链接(视频讲解很详细)
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触发器的更多相关文章
- 一个JavaScript触发器插件,可通过指定频次、指定时间内触发指定的处理函数
js-trigger是一个JavaScript触发器插件,可通过指定频次.指定时间内触发指定的处理函数 Tango<tanwei_yx@126.com> 特性 支持AMD/CMD/Comm ...
- 推荐一个JavaScript触发器插件,可通过指定频次、指定时间内触发指定的处理函数
推荐一个JavaScript触发器插件js-trigger js-trigger是一个JavaScript触发器插件,可通过指定频次.指定时间内触发指定的处理函数 https://tanwei-cc. ...
- javascript 触发器
<script type="text/javascript"> function time_logs() { var time = new Date(); var ho ...
- 什么是 dynaTrace Ajax
随着 jQuery.Dojo.YUI 等框架的兴起让构建 Web2.0 应用更加容易,但随之带来的定位等应用问题也越来越难,尤其是与性能相关的.dynaTrace Ajax Edition 是一个强大 ...
- javascript事件触发器fireEvent和dispatchEvent
javascript事件触发器fireEvent和dispatchEvent 事件触发器就是用来触发某个元素下的某个事件,IE下fireEvent方法,高级浏览器(chrome,firefox等) ...
- javascript 技巧总结积累(正在积累中)
1.文本框焦点问题 onBlur:当失去输入焦点后产生该事件 onFocus:当输入获得焦点后,产生该文件 Onchange:当文字值改变时,产生该事件 Onselect:当文字加亮后,产生该文件 & ...
- Atitit 数据库的事件机制--触发器与定时任务attilax总结
Atitit 数据库的事件机制--触发器与定时任务attilax总结 1.1. 事件机制的图谱1 2. 触发器的类型2 3. 实现原理 After触发器 Vs Instead Of触发器2 3.1. ...
- 总结JavaScript事件机制
JavaScript事件模型 在各种浏览器中存在三种事件模型: 原始事件模型 , DOM2事件模型 , IE事件模型. 其中原始的事件模型被所有浏览器所支持,而DOM2中所定义的事件模型目前被除了IE ...
- JavaScript异步编程(1)- ECMAScript 6的Promise对象
JavaScript的Callback机制深入人心.而ECMAScript的世界同样充斥的各种异步操作(异步IO.setTimeout等).异步和Callback的搭载很容易就衍生"回调金字 ...
随机推荐
- 客服端负载均衡:Spring Cloud Ribbon
Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具.服务间的调用,API网关的请求转发都是通过Ribbon实现的. 在微服务架构中使用客户端负载均衡需要两步: (1) ...
- Mac 软件包管理器Homebrew使用指北
Homebrew Homebrew由开发者 Max Howell 开发,并基于 BSD 开源,是一个非常方便的软件包包管理器工具. Homebrew 官网 Homebrew 的几个核心概念 在正式介绍 ...
- 实验三:Linux系统用户管理及VIM配置
项目 内容 这个作业属于哪个课程 班级课程的主页链接 这个作业的要求在哪里 作业要求链接地址 学号-姓名 17043133-木腾飞 学习目标 1.学习Linux系统用户管理2.学习vim使用及配置 实 ...
- 集合框架之ArrayList -Java
ArrayList 1.与数组的区别 如果要存放多个对象,可以使用数组,但是数组会有长度的限制,会出现不够用或者是浪费的情况. 为了解决数组的局限性引入了容器的概念,最常用的容器就是ArrayList ...
- indetityserver4-implicit-grant-types-请求流程叙述-下篇
上一篇将请求流程描述一遍,这篇将描述一下相关的源码. 1 访问客户端受保护的资源 GET /Home/Secure HTTP/1.1HTTP/1.1 302 Found Date: Tue, 23 O ...
- SD.Team字符表情集大全(持续更新中..)
一.超级可爱的字符表情集 01. <( ̄︶ ̄)> 02. <( ̄︶ ̄)/ 03. b( ̄▽ ̄)d 04. 汗( ̄口 ̄)!! 05. ╮( ̄▽ ̄)╭ 06. ╰( ̄▽ ̄)╭ 07. ╮ ...
- css 图片宽度、居中、倒影
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 当微信小程序遇到云开发,再加上一个类似 ColorUI 的模板,人人都能做小程序了
作为一个 Java 程序员,早就想尝试一把微信小程序,但是一直苦于没有想法,再加上做一个漂亮的页面实在不太擅长. 由于自己比较喜欢历史,经常看历史方面的书.在一次梳理中国现有的朝代时,突然想到,要是可 ...
- Rocket - decode - 解码单个信号
https://mp.weixin.qq.com/s/0D_NaeBEZX5LBQRdCz2seQ 介绍解码单个信号逻辑的实现. 1. 单个信号 每个指令对应了一组信号,每个信号对应 ...
- Take advantage of Checkra1n to Jailbreak iDevice for App analysis
An unpatchable bootrom exploit called "checkm8" works on all iDevices up until the iPhone ...