搜尋
首頁web前端js教程簡單總結JavaScript事件

本篇文章為大家帶來了關於javascript的相關知識,其中主要介紹了關於事件的簡單總結,事件就是文檔或瀏覽器視窗中發生的一些特定的交互瞬間,下面一起來看一下,希望對大家有幫助。

簡單總結JavaScript事件

【相關推薦:javascript影片教學web前端

##事件就是文件或瀏覽器視窗中發生的一些特定的互動瞬間。 JavaScript與HTML之間的互動是透過事件 來實現的。對於 Web 應用程式來說,有以下這些代表性的事件:點擊事件、滑鼠移入移出事件、鍵盤按下/彈 起事件等等。事件,就是文件或瀏覽器視窗中發生的一些特定的互動瞬間。可以使用監聽器(或事件處理程序)來預訂事件,以便在事件發生時執行對應的程式碼。

這裡簡單的介紹以下幾種常用的事件:文檔載入事件,事件對象,事件冒泡,事件委派,事件綁定,事件傳播,鍵盤事件。

    文件載入事件(onload):onload事件會在整個頁面載入完成之後觸發。使用如圖:

從效能方面考慮,寫在頁面的下邊更好!將js程式碼寫在頁面的下面,就是為了確保執行程式碼的時候頁面已經載入完畢。 window.onload 在頁面上只能出現一次,後面的程式碼會覆蓋前面的程式碼。

    事件對象:事件發生以後,會產生一個事件對象,作為參數傳給監聽函數。具體的表現就是我們在回呼函數中傳入一個event形參,這個形參的值是JS自動傳入的。在這個事件物件中會包含這次事件的所有相關訊息,包括是什麼事件(滑鼠/鍵盤),事件的觸發者,事件的目標等。

    在DOM物件上的某個事件被觸發時,會產生一個事件物件Event,這個物件中包含著所有事件相關的資訊。包括導致事件的元素、事件的類型以及其 他與特定事件相關的資訊。 DOM標準的瀏覽器會將一個event物件傳入到事件的處理程序當中。無論事件處理程序是什麼都會傳入一個event物件。 Event物件包含與建立它的特定事件有關的屬性和方法。觸發的事件類型不一樣,可用的屬性和方法也不一樣。這裡簡單的說一下滑鼠/鍵盤事件如圖:

    IE中的事件物件與存取DOM 中的event 物件不同,要存取IE 中的event 物件有幾種不同的方式,取決於指定事件處理程序的方法。在IE中event物件作為window物件的屬性存在的, 可以使用window.event來取得event物件在使用attachEvent()的情況下,也會在處理程序中 傳遞一個event對象,也可以按照前邊的方式使用。這裡透過一個案例來說明:當滑鼠在box盒子上面的時候,下面p標籤顯示滑鼠目前的座標

效果圖:

程式碼圖:

事件冒泡(Bubble): 所謂冒泡指的就是事件的向傳導,當後代元素上的事件被觸發時,其祖先元素的相同事件也會被觸發。在開發中大部分情況冒泡都是有用的,如果不希望冒泡發生可以透過事件物件取消冒泡 event.cancelBubble=true。

效果圖:

程式碼圖:

    事件的委派:指將事件統一綁定給元素共同的祖先元素,以便當後代元素上的事件觸發時,會一直冒泡到祖先元素,從而透過祖先元素的反應函數來處理事件。事件委派是利用冒泡,透過委派可以減少事件綁定的次數,提高程式的效能。事件物件的屬性target:傳回觸發此事件的元素(事件的目標節點)

案例:

效果圖:

程式碼圖:

    事件綁定:我們可以透過兩種常用的方式為一個元素綁定事件處理程序:透過HTML元素指定事件屬性來綁定;透過DOM物件指定的屬性來綁定。還有一種方式比較特殊我們稱為設定事件監聽器,元素物件:addEventListener()。前邊兩種方式都可以綁定事件處理程序,但是它們都有一個缺點就是都只能綁定一個程序,而不能為一個事件綁定多個程序。 addEventListener(),透過這個方法也可以為元素綁定回應函數。使用addEventListener()可以同時為一個元素的相同事件綁定多個回應函數。這樣當事件被觸發時,響應函數將會依照函數的綁定順序執行。這個方法不支援IE8及以下的瀏覽器,需要 使用attachEvent取代。 attachEvent(),在IE8中可以使用attachEvent()來綁定事件 。這個方法也可以同時為一個事件綁定多個處理函數,不同的是它是後綁定先執行,執行順序和addEventListener()相反。

    事件傳播:事件傳播可分為三個階段:捕獲階段- 在捕獲階段時從最外層的祖先元素,向目標元素進行事件的捕獲,但是默認此時不會觸發事件;目標階段- 事件捕獲到目標元素,捕獲結束開始在目標元素上觸發事件;冒泡階段- 事件從目標元素向他的祖先元素傳遞,依次觸發祖先元素上的事件。

    鍵盤事件:onkeydown: 鍵盤按下事件。如果一直按下某個鍵不放開,則會一直觸發該事件,當onkeydown事件連續觸發時,第一次和第二次之間的間隔時間稍微長一點,其他則會非常快。這是為了防止誤操作的發生。 onkeyup: 鍵盤被鬆開的事件。鍵盤事件一般都會綁定給一些可以取得焦點的物件或則是document…

【相關推薦:javascript影片教學web前端

以上是簡單總結JavaScript事件的詳細內容。更多資訊請關注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()”。

JavaScript的Symbol类型、隐藏属性及全局注册表详解JavaScript的Symbol类型、隐藏属性及全局注册表详解Jun 02, 2022 am 11:50 AM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

原来利用纯CSS也能实现文字轮播与图片轮播!原来利用纯CSS也能实现文字轮播与图片轮播!Jun 10, 2022 pm 01:00 PM

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

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

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

JavaScript面向对象详细解析之属性描述符JavaScript面向对象详细解析之属性描述符May 27, 2022 pm 05:29 PM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

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

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

整理总结JavaScript常见的BOM操作整理总结JavaScript常见的BOM操作Jun 01, 2022 am 11:43 AM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。

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.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT

MantisBT

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

mPDF

mPDF

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

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中