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

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. 蓝桥杯 试题 历届试题 发现环 并查集+dfs

    问题描述 小明的实验室有N台电脑,编号1~N.原本这N台电脑之间有N-1条数据链接相连,恰好构成一个树形网络.在树形网络上,任意两台电脑之间有唯一的路径相连. 不过在最近一次维护网络时,管理员误操作使 ...

  2. 模板:list列表显示

    作为视图,担当的角色就是显示数据.所以关键就是,借助JSTL的c:forEach标签遍历从CategoryServlet的list()的request.setAttribute("thecs ...

  3. Shone.Math开源系列1 — 基于.NET 5实现Math<T>泛型数值计算

    Shone.Math开源系列1 — 基于.NET 5实现Math<T>泛型数值计算 作者:Shone .NET 5 preview 4已经可用了,从微软Build2020给出的信息看,.N ...

  4. 转 document.compatMode介绍

    对于document.compatMode,很多朋友可能都根我一样很少接触,知道他的存在却不清楚他的用途.今天在ext中看到 document.compatMode的使用,感觉这个对于我们开发兼容性的 ...

  5. 基于Unity实现油画风格的着色器

    // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' Shader "Cust ...

  6. python时间戳和时间字符串的转换

    # -*- coding: utf-8 -*-# date=2020/3/27import timeimport uuid def getTimestamp_1770(): now_1770 = ro ...

  7. jupyter 文件夹重命名

    jupyter 文件夹 如何重命名嘞?可能很多童鞋没找到吧,哈哈哈 我们先创建一个文件夹,如何创建嘞,往下看. 然后我们就可以看到, 如何重命名呐,注意注意了啊,选中你创建的文件夹,单击Rename. ...

  8. PIC单片机的i2c的程序

    #include<pic.h>#define uchar unsigned char#define uint unsigned int#define add 0xaa__CONFIG(0x ...

  9. 03_K近邻算法

    今天是2020年2月1日星期六,疫情延续,现在确诊人数达到了11821例,艰难困苦,玉汝于成,相信国家的力量!大家齐心协力干一件事,疫情会尽早结束的,武汉加油.前几天整理感知机算法的内容,发现写博客这 ...

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

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