搜尋
首頁web前端js教程JavaScript DOM 常用事件最新總結!
JavaScript DOM 常用事件最新總結!Aug 07, 2022 am 11:05 AM
javascriptdom

本文為大家總結了JS DOM的常用事件,具有一定的參考價值,有興趣的夥伴們可以參考一下。

1 常用事件總結

1.1 滑鼠事件

click			单击
dblclick		双击
contextmenu		右击
mouseover		鼠标悬停在元素上, 建议用 mouseenter 代替
mouseout		鼠标离开元素,建议用 mouseleave 代替
mouseenter		鼠标悬停在元素上
mouseleave		鼠标离开元素
mousedown		鼠标按键按下
mouseup		    鼠标按键抬起
mousemove		鼠标移动

1.2 鍵盤事件

keydown		键盘按键按下
keyup		键盘按键抬起
keypress	键盘按键按下,用于可输入字符按键

1. 哪些元素可以監聽鍵盤事件?

① document

② 可以取得焦點的元素(表單控件,尤其是可輸入的元素)

2 . keydown 和keypress 的差別?

① keydown 所有的按鍵按下都可以觸發,無法區分大小寫按鍵。

② keypress 只有可輸入字元按鍵按下才可以觸發,可以區分大小寫按鍵。

3. 如何取得按下的是哪個按鍵?

使用event 物件中的屬性:

  • evnet.keyCode 取得按鍵對應的ascii 值

  • event .which 同keyCode

  • event.key 取得按鍵的字元值。

1.3 文件事件

load				页面中所有的一切加载完毕就会触发,可以监听到window上或者body元素
DOMContentLoaded	页面中所有的元素加载完毕就会触发,可以监听在window或者document上, 只能使用 						addEventListener 监听事件
beforeunload		当关闭网页的时候触发

load 事件與DOMContentLoaded 事件的差異:

① load事件是頁面中所有的一切加載完畢才能觸發,包括元素以及外部資源。

② DOMContentLoaded 事件是頁面中所有的元素載入完畢就可以觸發,不包含外部資源。

1.4 表單事件

submit		当表单提交的时候触发,该事件监听到form元素	
reset		当表单重置的时候触发,该事件监听到form元素
focus		当表单控件获取焦点的时候触发
blur		当表控件单失去焦点的时候触发
select		输入框或文本域中的内容被选中
change		对于输入框,内容改变且失去焦点才会触发;适合用于select

1.5 圖片事件

load		图片文件下载完毕
error		图片加载失败

1.6 其他事件

resize		监听到 window上,视口大小发生改变
scroll		监听到window或者是具有滚动体的元素,页面或元素中的内容发生滚动就触发。

2 Event 物件

2.1 取得Event 物件

為事件的回呼函數設定第一個形參,就可以取得event 物件。

不同類型的事件所取得的 Event 物件類型也不同。

2.2 滑鼠事件物件MouseEvent 的屬性與方法

offsetX / offsetY		获取鼠标在目标元素上的坐标位置
clientX / clientY		获取鼠标在视口上的坐标位置
pageX / pageY			获取鼠标在页面上的坐标位置
screenX / screenY       获取鼠标在屏幕上的坐标位置
button					获取按的是哪个鼠标按键, 0:左键; 1:中间键; 2:右键

2.3 鍵盤事件物件KeyBorardEvent 的屬性與方法

keyCode		获取按键对应的编码值
which		同 keyCode
key			获取按键对应的字符值

2.4 所有類型的事件物件都有的屬性與方法

type				获取事件名
timeStamp			获取触发事件时距离打开页面时的毫秒数
target				获取目标元素
stopPropagation()	阻止事件冒泡
preventDefault()	阻止浏览器默认行为

2.5 阻止事件冒泡

在事件的回呼函數中執行event.stopPropagation(),就可以阻止冒泡。

2.6 瀏覽器的預設行為

① 瀏覽器有哪些預設行為

超链接点击跳转
表单的提交和重置
右键弹出系统菜单
等...

② 阻止瀏覽器預設行為

在事件的回呼函數中呼叫event.preventDefault() 即可阻止預設行為。

注意: 如果使用第二種方式監聽事件,在回呼函數中 return false 同樣可以阻止預設行為。

3 事件委託

事件監聽到祖先元素上,判斷目標元素,如果目標元素滿足條件,就執行相關操作。

事件委託的優勢:

  • 對於給大量的元素監聽相同的事件,使用事件委託比遍歷挨個監聽效率更好。

  • 利用事件委託可以讓新增的元素也可以回應事件。

相關推薦:【JavaScript影片教學

#

以上是JavaScript DOM 常用事件最新總結!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:csdn。如有侵權,請聯絡admin@php.cn刪除
es6数组怎么去掉重复并且重新排序es6数组怎么去掉重复并且重新排序May 05, 2022 pm 07:08 PM

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

Vue3获取DOM节点的方式有哪些Vue3获取DOM节点的方式有哪些May 11, 2023 pm 04:55 PM

1.原生js获取DOM节点:document.querySelector(选择器)document.getElementById(id选择器)document.getElementsByClassName(class选择器)....2.vue2中获取当前组件的实例对象:因为每个vue的组件实例上,都包含一个$refs对象,里面存储着对应的DOM元素或组件的引用。所以在默认情况下,组件的$refs指向一个空对象。可以先在组件上加上ref="名字",然后通过this.$refs.

PHP中的DOM操作指南PHP中的DOM操作指南May 21, 2023 pm 04:01 PM

在网页开发中,DOM(DocumentObjectModel)是一个非常重要的概念。它可以让开发者轻松地对一个网页的HTML或XML文档进行修改和操作,比如添加、删除、修改元素等。而PHP中内置的DOM操作库也为开发者提供了丰富的功能,本文将介绍PHP中的DOM操作指南,希望可以帮助到大家。DOM的基本概念DOM是一个跨平台、独立于语言的API,它可以将

vue3中ref绑定dom或组件失败的原因是什么及怎么解决vue3中ref绑定dom或组件失败的原因是什么及怎么解决May 12, 2023 pm 01:28 PM

vue3ref绑定dom或者组件失败原因分析场景描述在vue3中经常用到使用ref绑定组件或者dom元素的情况,很多时候,明明使用ref绑定了相关组件,但是经常ref绑定失败的情况。ref绑定失败情况举例ref绑定失败的绝大多数情况是,在ref和组件绑定的时候,该组件还未渲染,所以绑定失败。或者组件刚开始未渲染,ref未绑定,当组件开始渲染,ref也开始绑定,但是ref和组件并未绑定完成,这个时候使用组件相关的方法就会出现问题。ref绑定的组件使用了v-if,或者他的父组件使用了v-if导致页面

JavaScript对象的构造函数和new操作符(实例详解)JavaScript对象的构造函数和new操作符(实例详解)May 10, 2022 pm 06:16 PM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

vue dom是什么意思啊vue dom是什么意思啊Dec 20, 2022 pm 08:41 PM

dom是一种文档对象模型,同时也是用于html编程的接口,通过dom来操作页面中的元素。DOM是HTML文档的内存中对象表示,它提供了使用JavaScript与网页交互的方式。DOM是节点的层次结构(或树),其中document节点作为根。

javascript怎么移除元素点击事件javascript怎么移除元素点击事件Apr 11, 2022 pm 04:51 PM

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

foreach是es6里的吗foreach是es6里的吗May 05, 2022 pm 05:59 PM

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版