JS三大事件

鼠标事件

click:单击
dblclick:双击
mousedown:鼠标按下
mouseup:鼠标抬起
mouseover:鼠标悬浮
mouseout:鼠标离开
mousemove:鼠标移动
mouseenter:鼠标进入
mouseleave:鼠标离开
<button onclick="myClick()">鼠标单击</button>
<button ondblclick="myDBClick()">鼠标双击</button>
<button onmousedown="myMouseDown()" onmouseup="myMouseUp()">鼠标按下和抬起</button>
<button onmouseover="myMouseOver()" onmouseout="myMouseOut()">鼠标悬浮和离开</button>
<button onmousemove="myMouseMove()">鼠标移动</button>
<button onmouseenter="myMouseEnter()" onmouseleave="myMouseLeave()">鼠标进入和离开</button><script>function myClick() {console.log("你单击了按钮!");}function myDBClick() {console.log("你双击了按钮!");}function myMouseDown() {console.log("鼠标按下了!");}function myMouseUp() {console.log("鼠标抬起了!");}function myMouseOver() {console.log("鼠标悬浮!");}function myMouseOut() {console.log("鼠标离开!")}function myMouseMove() {console.log("鼠标移动!")}function myMouseEnter() {console.log("鼠标进入!")}function myMouseLeave() {console.log("鼠标离开!")}</script>

键盘事件

keydown:按键按下
keyup:按键抬起
keypress:按键按下抬起<body><input id="name" type="text" onkeydown="myKeyDown(this.id)" onkeyup="myKeyUp(this.id)"></body><script>/*输出输入的字符*/function myKeyDown(id) {console.log(document.getElementById(id).value);}/*按键结束,字体转换为大写*/function myKeyUp(id) {var text = document.getElementById(id).value;document.getElementById(id).value = text.toUpperCase();}</script>

HTML事件

load:文档加载完成
select:被选中的时候
change:内容被改变
focus:得到光标
resize:窗口尺寸变化
scroll:滚动条移动<body onload="loaded()"><div style="height: 3000px" ></div><input type="text" id="name" onselect="mySelect(this.id)"><input type="text" id="name2" onchange="myChange(this.id)"><input type="text" id="name3" onfocus="myFocus()"></body><script>window.onload = function () {console.log("文档加载完毕!");};/*window.onunload = function () {alert("文档被关闭!");};*//*打印选中的文本*/function mySelect(id) {var text = document.getElementById(id).value;console.log(text);}/*内容被改变时*/function myChange(id) {var text = document.getElementById(id).value;console.log(text);}/*得到光标*/function myFocus() {console.log("得到光标!");}/*窗口尺寸变化*/window.onresize = function () {console.log("窗口变化!")};/*滚动条移动*/window.onscroll = function () {console.log("滚动");}</script>

事件模型:

    <body><!--脚本模型:行内绑定--><button onclick="alert('hello')">hello</button><!--内联模型--><button onclick="showHello()">hello2</button><!--动态绑定--><button id="btn">hello3</button></body><script>function showHello() {alert("hello");}/*DOM0:同一个元素只能添加一个同类事件* 如果添加多个,后面的会把前面的覆盖掉*/var btn = document.getElementById("btn");btn.onclick = function () {alert("hello");};btn.onclick = function () {alert("hello world");};/*DOM2:可以给一个元素添加多个同类事件*/btn.addEventListener("click", function () {alert("hello1");});btn.addEventListener("click", function () {alert("hello2");});/*不同浏览器的兼容写法*//*IE*/if (btn.attachEvent) {btn.attachEvent("onclick", function () {alert("hello3");});/*W3C*/} else {btn.addEventListener("click", function () {alert("hello4");})}</script>

事件冒泡与事件捕获:

     <style>#div1{width: 400px;height: 400px;background-color: #0dfaff;}#div2{width: 300px;height: 300px;background-color: #33ff66;}#div3{width: 200px;height: 200px;background-color: #fff24a;}#div4{width: 100px;height: 100px;background-color: #ff4968;}</style><title>事件冒泡、事件捕获</title></head><body><div id="div1"><div id="div2"><div id="div3"><div id="div4"></div></div></div></div></body><script>var div1 = document.getElementById("div1");div1.addEventListener("click",function (event) {/*阻止事件冒泡*/event.stopPropagation();alert("div1");},false);var div2 = document.getElementById("div2");div2.addEventListener("click",function (event) {/*阻止事件冒泡*/event.stopPropagation();alert("div2");},false);var div3 = document.getElementById("div3");div3.addEventListener("click",function (event) {/*阻止事件冒泡*/event.stopPropagation();alert("div3");},false);var div4 = document.getElementById("div4");div4.addEventListener("click",function (event) {/*阻止事件冒泡*/event.stopPropagation();alert("div4");},false);</script>

阻止默认事件:

    <body><a href="http://www.baidu.com" onclick="stop(event)">百度</a></body><script>function stop(event) {if (event.preventDefault()) {event.preventDefault();} else {event.returnValue = false;}alert("不跳转!")}</script>

JavaScript三大事件(二十二)相关推荐

  1. JavaScript学习(八十二)—JavaScript的组成

    JavaScript学习(八十二)-JavaScript的组成 一.ECMAScript ECMAScript是由ECMA国际(原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上应用 ...

  2. JavaScript学习(七十二)—严格模式

    JavaScript学习(七十二)-严格模式 JavaScript除了提供正常模式外,还提供了严格模式,ES5的严格模式是采用具有限制性JavaScript变体的一种方式,即在严格条件下运行JS代码, ...

  3. JavaScript学习(六十二)—解析选项和序列化选项

    JavaScript学习(六十二)-解析选项和序列化选项 一.解析选项 格式:JSON.parse(参数1,参数2); 参数说明 参数1:表示要转换为JS对象的json字符串 参数2:表示将json转 ...

  4. JavaScript学习(五十二)—继承、call方法和apply方法

    JavaScript学习(五十二)-继承.call方法和apply方法 学习内容 一.继承 二.call方法 三.apply方法 一.继承 所谓继承就是两个构造方法建立起来的某种联系,通过某种联系,可 ...

  5. JavaScript学习(四十二)—利用工厂模式创建对象以及工厂模式创建对象的不足

    JavaScript学习(四十二)-利用工厂模式创建对象以及工厂模式创建对象的不足 一.利用工厂模式创建对象 工厂模式是JavaScript中的一种设计模式,它的作用是批量创建具有同种属性的对象. 格 ...

  6. JavaScript学习(三十二)— Keycode常用键位码对照表

    JavaScript学习(三十二)- Keycode常用键位码对照表 (一).字母和数字键的键码值(keyCode) (二).控制键键码值(keyCode) (三).多媒体键码值(keyCode)

  7. JavaScript学习(二十二)—动态创建表格

    JavaScript学习(二十二)-动态创建表格 效果如下: 代码如下: <!DOCTYPE html> <html lang="en"><head& ...

  8. 2021年大数据Hadoop(二十二):MapReduce的自定义分组

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 MapReduce的自定义分组 需求 分析 实现 第一步: ...

  9. Android开发笔记(一百二十二)循环器视图RecyclerView

    RecyclerView RecyclerView是Android在support-v7库中新推出控件,中文别名为循环器视图,它的功能非常强大,可分别实现ListView.GridView,以及瀑布流 ...

  10. JAVA基础知识总结:一到二十二全部总结

    >一: 一.软件开发的常识 1.什么是软件? 一系列按照特定顺序组织起来的计算机数据或者指令 常见的软件: 系统软件:Windows\Mac OS \Linux 应用软件:QQ,一系列的播放器( ...

最新文章

  1. php循环输出多个网络地址图片,php中curl循环往请求多个URL和多线程去请求多个URL的方法...
  2. html怎么写三段平行文本,试论实用文体翻译中平行文本的使用
  3. python3 str is not callable 问题解决
  4. windows添加删除静态路由
  5. ug后处理如何加密_什么叫UG编程?UG编程是干嘛的?不得不看哦!的UG
  6. DELL服务器安装过程中出现的ERROR及解决方案
  7. Linux备份检查工具,6种优化Linux系统备份的应用与技巧
  8. 合适是最好,声音选项里面 声音的硬件加速到底有什么用
  9. 开放下载 | 阿里妈妈技术年货来啦!
  10. Navicat加载缓慢
  11. oracle数据库王珊,数据库系统概论 王珊 教材部分总结
  12. [导入]Reporting Services 3: 报表模型项目
  13. autofac文档:适配器和装饰器
  14. 诡异的dp(凸多边形分割):catalan数
  15. 关于Button控件的CommandName属性用法的一个实例
  16. 深度学习(增量学习)——ICCV2021:SS-IL: Separated Softmax for Incremental Learning
  17. 计算机英语 复习资料
  18. 凡人修仙传显示无法连接服务器,凡人修仙传进不去 无法连接服务器 登陆失败 闪退 黑屏...
  19. Android 高仿微信6.0主界面 带你玩转切换图标变色
  20. 太空大战游戏开发实例

热门文章

  1. CDH-CM大数据管理平台详解 附CDH离线安装包
  2. 蓦然回首,那些命令都在灯火阑珊处
  3. fingertouch
  4. 学计算机能设计舞美吗,中国传媒大学有舞美吗
  5. java web系统设计思路_JavaWeb——实战入门,设计思路总结。
  6. 使用vi编辑时上下左右方向键被转化为A、B、C、D怎么办?
  7. js 获取当前国家 省份 城市等信息
  8. MS 08-067失败过程记录
  9. ODPS是什么?——阿里云开发者社区
  10. USACO 5.1 Starry Night(模拟)