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

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. jsp循环map map的key值不固定

    <c:if test="${not empty parammap}"> <c:forEach items="${parammap }" var ...

  2. Educational Codeforces Round 56 (Rated for Div. 2) F. Vasya and Array

    题意:长度为n的数组,数组中的每个元素的取值在1-k的范围内或者是-1,-1代表这个元素要自己选择一个1-k的数字去填写,然后要求填完的数组中不能出现连续长度大于len的情况,询问填空的方案数. 题解 ...

  3. HTML5移动端最新兼容问题解决方案

    1.安卓浏览器看背景图片,有些设备会模糊.用同等比例的图片在PC机上很清楚,但是手机上很模糊,原因是什么呢?经过研究,是devicePixelRatio作怪,因为手机分辨率太小,如果按照分辨率来显示网 ...

  4. [安卓基础] 007.管理Activity的生命周期

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  5. RabbitMQ--其他几种模式

    本文是作者原创,版权归作者所有.若要转载,请注明出处. 本文RabbitMQ版本为rabbitmq-server-3.7.17,erlang为erlang-22.0.7.请各位去官网查看版本匹配和下载 ...

  6. Java实现 LeetCode 739 每日温度(暴力循环)

    739. 每日温度 根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数.如果之后都不会升高,请在该位置用 0 来代替. 例如,给定一个列表 temper ...

  7. Java实现 LeetCode 639解码方法 2(递推)

    639. 解码方法 2 一条包含字母 A-Z 的消息通过以下的方式进行了编码: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 除了上述的条件以外,现在加密字符串可以 ...

  8. Java实现 LeetCode 435 无重叠区间

    435. 无重叠区间 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. 注意: 可以认为区间的终点总是大于它的起点. 区间 [1,2] 和 [2,3] 的边界相互"接触& ...

  9. java实现整数翻转

    ** 整数翻转** 以下程序把一个整数翻转(8765变为:5678),请补充缺少的代码. int n = 8765; int m = 0; while(n>0) { m = __________ ...

  10. java实现第九届蓝桥杯三角形面积

    三角形面积 小明最近在玩一款游戏.对游戏中的防御力很感兴趣. 我们认为直接影响防御的参数为"防御性能",记作d,而面板上有两个防御值A和B,与d成对数关系,A=2^d,B=3^d( ...