JavaScript事件笔记

HTML 事件是发生在 HTML 元素上的事情。

当在 HTML 页面中使用 JavaScript 时, JavaScript 可以触发这些事件。

HTML 事件

HTML 事件可以是浏览器行为,也可以是用户行为。

以下是 HTML 事件的实例:

  • HTML 页面完成加载
  • HTML input 字段改变时
  • HTML 按钮被点击

通常,当事件发生时,你可以做些事情。

在事件触发时 JavaScript 可以执行一些代码。

HTML 元素中可以添加事件属性,使用 JavaScript 代码来添加 HTML 元素。

单引号:

<some-HTML-element some-event='JavaScript 代码'>

双引号:

<some-HTML-element some-event="JavaScript 代码">

在以下实例中,按钮元素中添加了 onclick 属性 (并加上代码):

<button onclick="getElementById('demo').innerHTML=Date()">现在的时间是?</button>

以上实例中,JavaScript 代码将修改 id="demo" 元素的内容。

在下一个实例中,代码将修改自身元素的内容 (使用 this.innerHTML):

<button onclick="this.innerHTML=Date()">现在的时间是?</button>
<button onclick="displayDate()">现在的时间是?</button>
 

常见的HTML事件

下面是一些常见的HTML事件的列表:

事件描述
onchange HTML 元素改变
onclick 用户点击 HTML 元素
onmouseover 用户在一个HTML元素上移动鼠标
onmouseout 用户从一个HTML元素上移开鼠标
onkeydown 用户按下键盘按键
onload 浏览器已完成页面的加载

JavaScript 可以做什么?

事件可以用于处理表单验证,用户输入,用户行为及浏览器动作:

  • 页面加载时触发事件
  • 页面关闭时触发事件
  • 用户点击按钮执行动作
  • 验证用户输入内容的合法性
  • 等等 ...

可以使用多种方法来执行 JavaScript 事件代码:

  • HTML 事件属性可以直接执行 JavaScript 代码
  • HTML 事件属性可以调用 JavaScript 函数
  • 你可以为 HTML 元素指定自己的事件处理程序
  • 你可以阻止事件的发生。

注意,当在 JS 文件中为相关元素设置事件时,其写法与 HTML 事件属性写法相同,例如:

<button id="test" onclick="changeContent()">更换内容</button>

在 JS 中则需要这样写:

var test = document.getElementById("test");
test.onclick = function changeContent(){
    //......
}

注意:在为元素添加事件句柄或者删除元素事件句柄的过程中,不要将 event 参数设置为 onclick,而必须写成 click,去掉事件名称中的 on 即可。

添加事件句柄函数原型:

element.addEventListener(event, function, [useCapture])

删除事件句柄的函数原型:

element.removeEventListener(event, function, [useCapture])

不推荐使用 HTML 元素中可以添加事件属性 的方式来添加属性。

例子:

<button onclick="getElementById('demo').innerHTML=Date()">现在的时间是?</button>

因为遵从“高内聚,低耦合”的编程原则。

高内聚是说模块内部要高度聚合,低耦合是说模块与模块之间的藕合度要尽量低。前者是说模块内部的关系,后者是说模块与模块间的关系。

很形象的比拟:严于律己,宽以待人。


posted @ 2021-12-06 09:11  南风轻语、  阅读(74)  评论(0)    收藏  举报