js自訂事件及事件互動原理概述(一)_javascript技巧
在JS中事件是JS與瀏覽器互動的主要途徑。事件是一種叫做觀察者的設計模式,這是一種創建鬆散耦合程式碼的技術。物件可以發布事件,用來表示在該物件生命週期中某個有趣的時刻到了。然後其他對象可以觀察該對象,等待這些有趣的時刻到來並透過運行程式碼來回應。
觀察者模式有兩類物件組成:主題和觀察者。主體負責發布事件,同時觀察者透過訂閱這些事件來觀察該主體。這個模式的一個關鍵概念是主體並不知道觀察者的任何事情,也就是說它可以獨自存在並正常運作即使觀察者不存在。從另一方面來說,觀察者知道主體並能註冊事件的回呼函數(事件處理程序)。涉及DOM上時,DOM元素就是主體,你的事件處理程式碼就是觀察者。
事件是與DOM互動的最常見的方式,但它們也可以用於非DOM程式碼中----透過實作自訂事件。自訂事件背後的概念是創建一個管理事件的對象,讓其他對象監聽那些事件。說簡單點就是我們希望在程式運行的時候,路線可能會有很多,如果程式運行到了一個特殊的地方,我們希望立刻運行用戶註冊的方法裡面的程式碼,運行完畢後再繼續運行,這個過程叫做監聽。
例如,建立一個檔案MyEvent.js文件,裡面建立一個類別:
function MyEvent(){
this.handler;
}
MyEvent.prototype={
addHandler:function(handler)
{
{
.handler=handler;
},
fire:function()
{
this.handler();
},
removeHandler:function()
{
{
this.handler=null;
}
上面使用js原型的思想創建的一個類,如果讀者不太了解可以查看相關資料。 MyEvent類型有一個單獨的屬性handler,用來儲存事件處理程序(也就是使用者註冊的方法)。還有三個方法:addHandler(),用於註冊事件處理程序;fire(),用於觸發一個事件;以及removeHandler(),用於註銷事件的處理程序。
上述的註解已經很詳細的說明了其中的一種使用方式。這是一個最簡單的自訂事件,不過還有很多缺陷,如何優化將在(二)裡面講解。

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)
![事件 ID 4660:已刪除物件 [修復]](https://img.php.cn/upload/article/000/887/227/168834320512143.png?x-oss-process=image/resize,m_fill,h_207,w_330)
我們的一些讀者遇到了事件ID4660。他們通常不確定該怎麼做,所以我們在本指南中解釋。刪除物件時通常會記錄事件ID4660,因此我們還將探索一些實用的方法在您的電腦上修復它。什麼是事件ID4660?事件ID4660與活動目錄中的物件相關,將由下列任一因素觸發:物件刪除–每當從ActiveDirectory中刪除物件時,都會記錄事件ID為4660的安全事件。手動變更–當使用者或管理員手動變更物件的權限時,可能會產生事件ID4660。變更權限設定、修改存取等級或新增或刪除人員或群組時,可能會發生這種情

在運行iOS16或更高版本的iPhone上,您可以直接在鎖定畫面上顯示即將到來的日曆事件。繼續閱讀以了解它是如何完成的。由於錶盤複雜功能,許多AppleWatch用戶習慣能夠看一眼手腕來查看下一個即將到來的日曆事件。隨著iOS16和鎖定螢幕小部件的出現,您可以直接在iPhone上查看相同的日曆事件訊息,甚至無需解鎖設備。日曆鎖定螢幕小元件有兩種風格,可讓您追蹤下一個即將發生的事件的時間,或使用更大的小元件來顯示事件名稱及其時間。若要開始新增小元件,請使用面容ID或觸控ID解鎖iPhone,長按

在win11系統中,我們可以透過開啟分割畫面互動來讓多個顯示器使用同一款系統,共同操作,但是很多朋友不知道分割畫面互動怎麼開啟,其實只要在系統設定中找到顯示器就可以了,下面一起來學習一下吧。 win11分割畫面互動怎麼開啟1、點選開始選單,找到其中的「設定」2、然後在其中找到「系統」設定。 3.進入系統設定後,在左側選擇「顯示」4、接著在右邊的多顯示器中選擇「擴充這些顯示器」即可。

Vue3+TS+Vite開發技巧:如何與後端API進行互動引言:在網頁應用程式開發中,前端與後端之間的資料互動是一個非常重要的環節。 Vue3作為一種流行的前端框架,與後端API互動的方式也有很多種。本文將介紹如何使用Vue3+TypeScript+Vite開發環境來與後端API進行交互,並透過程式碼範例加深理解。一、使用Axios發送請求Axios是

當輸入框中新增值時,就會發生oninput事件。您可以嘗試執行以下程式碼來了解如何在JavaScript中實現oninput事件-範例<!DOCTYPEhtml><html> <body> <p>Writebelow:</p> <inputtype="text"

jquery中常用的事件有:1、window事件;2、滑鼠事件,是當使用者在文件上方移動或點選滑鼠時而產生的事件,包括滑鼠點選、移入事件、移出事件等;3、鍵盤事件,是使用者每次按下或釋放鍵盤上的按鍵時都會產生事件,包括按下按鍵事件、釋放按鍵按鍵等;4、表單事件,例如當元素獲得焦點時會觸發focus()事件,失去焦點時會觸發blur()事件,表單提交時會觸發submit()事件。

Vue.js是一款流行的JavaScript框架,它提供了許多方便的特性,所以它在開發網頁應用程式時非常有用。 Vue.js中的自訂事件系統使其更加靈活,並且可以透過元件事件觸發和處理來實現更好的程式碼重用性。在本文中,我們將討論如何使用Vue.js的自訂事件。 Vue.js中自訂事件的基礎在Vue.js中,我們可以透過v-on指令來監聽DOM事件。例如,

uniapp實作如何使用JSBridge實作與原生交互,需要具體程式碼範例一、背景介紹在行動應用開發中,有時需要與原生環境進行交互,例如呼叫原生的一些功能或取得原生的一些資料。 uniapp作為一種跨平台的行動應用開發框架,提供了一種方便的方式來實現與原生交互,即使用JSBridge進行通訊。 JSBridge是一種前端與行動原生端互動的技術方案,透過在前端和
