JS “事件”

本文详细介绍了JavaScript中的事件处理,包括三种事件模型(内联、脚本、DOM2),常见的键盘、HTML和鼠标事件类型,如keydown、click、select等。同时讨论了事件绑定的问题和事件流的概念,包括冒泡和捕获。通过对这些基础知识的掌握,开发者可以更好地理解和使用JavaScript中的事件处理机制。
摘要由CSDN通过智能技术生成

1、事件模型

  • JavaScript有三种事件模型:内联模型、脚本模型和DOM2模型

2、处理的事件类型

  • JavaScript可以处理的事件类型为:鼠标事件、键盘事件、HTML事件

3、事件组成

  • 所有的事件处理函数都会都有两个部分组成,on + 事件名称,例如click事件的事件处理函数就是:onclick。

4、键盘事件

1. keydown:当用户按下键盘上任意键触发,如果按住不放,会重复触发。

 document.onkeydown = function (e) {         alert('Lee');     };

2. keypress:当用户按下键盘上的字符键触发,如果按住不放,会重复触发。

   document.onkeypress = function () {         alert('Lee');     };

3. keyup:当用户释放键盘上的键触发。

 document.onkeyup = function () {         alert('Lee');     };

document.onkeydown = function (ev) {}; //键盘按下去就会触发 长按 会连续触发
document.onkeypress = function (ev) {}; //触发字母与数组  不触发功能键 ctrl alt shift esc...
document.onkeyup = function (ev) {}; //键盘按键松开时会触发

5、HTML事件

1. select:当用户选择文本框(input或textarea)中的一个或多个字符触发。     

input.onselect = function () {         alert('Lee');     };

2. change:当文本框(input或textarea)内容改变且失去焦点后触发。   

 input.onchange = function () {         alert('Lee');     };

3. focus:当页面或者元素获得焦点时在window及相关元素上面触发。     

input.onfocus = function () {         alert('Lee');     }; 

 4. blur:当页面或元素失去焦点时在window及相关元素上触发。     

input.onblur = function () {         alert('Lee');     };

5. submit:当用户点击提交按钮在<form>元素上触发。     

form.onsubmit = function () {         alert('Lee');     };

6. reset:当用户点击重置按钮在<form>元素上触发。

form.οnreset= function () {         alert('Lee');     };

7. resize:当窗口或框架的大小变化时在window或框架上触发。   

 window.onresize = function () {         alert('Lee');     };

8. scroll:当用户滚动带滚动条的元素时触发。     

window.onscroll = function () {         alert('Lee');     }; 

6、鼠标事件

1. click:当用户单击鼠标按钮。     

input.onclick = function () {         alert('Lee');     };

2. dblclick:当用户双击主鼠标按钮时触发。   

 input.ondblclick = function () {         alert('Lee');     };

3. mousedown:当用户按下了鼠标还未弹起时触发。     

input.onmousedown = function () {         alert('Lee');     }; 

4. mouseup:当用户释放鼠标按钮时触发。     

input.onmouseup = function () {         alert('Lee');     };

5. mouseover:当鼠标移到某个元素上方时触发。 mouseenter     

input.onmouseover = function () {         alert('Lee');     };

6. mouseout:当鼠标移出某个元素上方时触发。  mouseleave   

 input.onmouseout = function () {         alert('Lee');     }; 

7、事件绑定及深入

(1)传统事件绑定的问题

8、事件流

事件流--------页面中元素接受事件的顺序 

(1) 事件冒泡 --------事件由最开始的元素接收,然后逐级向上传播到最不具体的那个节点(文档)

DOM0级事件

     1、给同一个元素对象绑定同一个事件多次,出现覆盖问题

     2、无法修改时间流的类型

(2)事件捕获 --------事件由最最不具体的那个节点(文档)元素接收,然后逐级向下广播到最具体的那个元素

DOM2级事件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

让我打个盹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值