菜鸟教程 -- 学的不仅是技术,更是梦想!

Javascript 教程
JavaScript 教程 JavaScript 简介 JavaScript 用法 JavaScript VScode JavaScript Chrome 中运行 JavaScript 输出 JavaScript 语法 JavaScript 语句 JavaScript 注释 JavaScript 变量 JavaScript 数据类型 JavaScript 对象 JavaScript 函数 JavaScript 作用域 JavaScript 事件 JavaScript 字符串 JavaScript 字符串模板 JavaScript 运算符 JavaScript 比较 JavaScript 条件语句 JavaScript switch 语句 JavaScript for 循环 JavaScript while 循环 JavaScript break 和 continue 语句 JavaScript typeof JavaScript 类型转换 JavaScript 正则表达式 JavaScript 错误 JavaScript 调试 JavaScript 变量提升 JavaScript 严格模式 JavaScript 使用误区 JavaScript 表单 JavaScript 表单验证 JavaScript 验证 API JavaScript 保留关键字 JavaScript this JavaScript let 和 const JavaScript JSON JavaScript void JavaScript 异步编程 JavaScript Promise JavaScript async/await JavaScript 代码规范 JavaScript 测验

JS 函数

JavaScript 函数定义 JavaScript 函数参数 JavaScript 函数调用 JavaScript 闭包

JS

JavaScript 类 JavaScript 类继承 JavaScript 静态方法

JS HTML DOM

DOM 简介 DOM HTML DOM CSS DOM 事件 DOM EventListener DOM 元素 HTMLCollection 对象 NodeList 对象

JS 高级教程

JavaScript 对象 JavaScript prototype JavaScript Number 对象 JavaScript String JavaScript Date(日期) JavaScript Array(数组) JavaScript Boolean(布尔) JavaScript Math(算数) JavaScript RegExp 对象

JS 浏览器BOM

JavaScript Window JavaScript Window Screen JavaScript Window Location JavaScript Window History JavaScript Navigator JavaScript 弹窗 JavaScript 计时事件 JavaScript Cookie

JS

JavaScript 库 JavaScript 测试 jQuery JavaScript 测试 Prototype

JS 实例

JavaScript 实例 JavaScript 对象实例 JavaScript 浏览器对象实例 JavaScript HTML DOM 实例 JavaScript 总结

JS 参考手册

JavaScript 对象 HTML DOM 对象 JavaScript 异步编程 JavaScript 静态方法
(追記) (追記ここまで)

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 属性 (并加上代码):

实例

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

尝试一下 »

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

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

实例

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

尝试一下 »

Note JavaScript代码通常是几行代码。比较常见的是通过事件属性来调用:

实例

<buttononclick="displayDate()">现在的时间是?</button>

尝试一下 »


常见的HTML事件

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

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

更多事件列表: JavaScript 参考手册 - HTML DOM 事件


JavaScript 可以做什么?

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

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

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

  • HTML 事件属性可以直接执行 JavaScript 代码
  • HTML 事件属性可以调用 JavaScript 函数
  • 你可以为 HTML 元素指定自己的事件处理程序
  • 你可以阻止事件的发生。
  • 等等 ...
Note 在 HTML DOM 章节中你将会学到更多关于事件及事件处理程序的知识。
AI 思考中...

3 篇笔记 写笔记

  1. #0

    枫泠鸢

    116***[email protected]

    157

    注意,当在 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])

    枫泠鸢

    116***[email protected]

    8年前 (2018年12月18日)
  2. #0

    千年遇玺

    173***[email protected]

    287

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

    例子:

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

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

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

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

    千年遇玺

    173***[email protected]

    7年前 (2019年03月22日)
  3. #0

    千年遇玺

    173***[email protected]

    113

    添加事件句柄实例:

    <input id="test" type="button" value="提交"/>
    <script>
    window.onload = function(){
     var test = document.getElementById("test"); 
     test.addEventListener("click",myfun2); 
     test.addEventListener("click",myfun1);
    }
    function myfun1(){ 
     alert("你好1");
    }
    function myfun2(){ 
     alert("你好2");
    }
    </script>

    千年遇玺

    173***[email protected]

    7年前 (2019年03月22日)

点我分享笔记

  • 昵称 (必填)
  • 邮箱 (必填)
  • 引用地址

AltStyle によって変換されたページ (->オリジナル) /