web前端之中文輸入法導致的高頻事件、addEventListener、compositionstart、compositionend

MENU

  • 代碼
  • compositionend
  • compositionstart
  • addEventListener


代碼

html

<input type="text" />

JavaScript

var inp = document.querySelector('input');
let isComposing = false;function search() {if (isComposing) return false;console.log('搜索: ', inp.value);
}inp.addEventListener('input', function () {search();
});inp.addEventListener('compositionstart', function () {isComposing = true;
});inp.addEventListener('compositionend', function () {isComposing = false;search();
});

compositionend

MDN

當文本段落的組成完成或取消時,compositionend事件將被觸發(具有特殊字符的觸發,需要一系列鍵和其他輸入,如語音識別或移動中的字詞建議)。


compositionstart

MDN

文本合成系統如input method editor(即輸入法編輯器)開始新的輸入合成時會觸發compositionstart事件。


addEventListener

w3school
定義

addEventListener()方法將事件處理程序附加到元素。

參數描述
type

必需。事件的名稱。

請不要使用 "on" 前綴。

請使用 "click" 而不是 "onclick"。


DOM事件的完整列表

function 必需。事件發生時運行的函數。
useCapture

可選(default = false)。

  • false - 處理程序在冒泡階段執行。
  • true - 處理程序在捕獲階段執行。

技術細節

該方法將把指定的事件監聽器函數添加到當前節點的監聽器集合中,以處理指定類型type的事件。如果useCapturetrue,則監聽器被注冊為捕捉事件監聽器。如果useCapturefalse,它被注冊為普通事件監聽器。
addEventListener()可能被調用多次,在同一個節點上為同一種類型的事件注冊多個事件句柄。但要注意,DOM不能確定多個事件句柄被調用的順序。
如果一個事件監聽器函數在同一個節點上用相同的typeuseCapture參數注冊了兩次,那么第二次注冊將被忽略。如果正在處理一個節點上的事件時,在這個節點上注冊了一個新的事件監聽器,則不會為那個事件調用新的事件監聽器。
當用Node.cloneNode()方法或Document.importNode()方法復制一個Document節點時,不會復制為原始節點注冊的事件監聽器。
這個方法也在Document和Window對象上定義了,而且工作方式類似。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/215013.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/215013.shtml
英文地址,請注明出處:http://en.pswp.cn/news/215013.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

(企業 / 公司項目) 企業項目如何使用jwt?

按照企業的項目然后寫的小demo&#xff0c; 自己搞一個登錄接口然后調用jwtUtil工具類 后端實現 創建一個通用模塊common來實現jwt生成token 登錄注冊的基本實現邏輯思路 面試| ProcessOn免費在線作圖,在線流程圖,在線思維導圖 注釋挺詳細的jwtUtil工具類&#xff0c; 封裝的…

WPF仿網易云搭建筆記(5):信息流控制之IOC容器

文章目錄 專欄和Gitee倉庫前言IOC容器Prism IOC使用聲明兩個測試的服務類MainWindow IOC 注入[單例]MainWindow里面獲取UserController無法使用官方解決方案 使用自定義IOC容器&#xff0c;完美解決既然Prism不好用&#xff0c;直接上微軟的IOC解決方案App.xaml.csViewModel里面…

網絡測試工具:tcping-測試端口連接

網絡測試工具&#xff1a;tcping-測試端口連接 平常使用的ping&#xff0c;是通過icmp協議去測試網絡連通性的&#xff0c;tcping是通過tcp三次握手測試端口的連通性。總的來說&#xff0c;ping測試的是L3的連通性&#xff0c;tcping測試的是L4的連通性。 tcping工具下載 htt…

10.RIP路由信息協議

10.RIP 網段經常產生變化的話&#xff0c;建議使用動態路由協議&#xff0c;當網段發生變化的時候會自動通告給其他路由器 它不看鏈路的帶寬&#xff0c;只看鏈路中的跳數&#xff0c;只要是跳數多的&#xff0c;不管帶寬有多大&#xff0c;它就認為是不好的 RIP跳數有限 …

java中LinkedList和List繼承有什么區別?

在Java中&#xff0c;LinkedList 和 List 是兩個不同的概念。List 是一個接口&#xff0c;而 LinkedList 是實現了 List 接口的一個具體類。 List 接口&#xff1a; List 是Java集合框架中的一個接口&#xff0c;它表示有序的集合&#xff0c;允許重復元素。List 接口繼承自 C…

TYPE-C接口設備實現DRP+OTG功能芯片

隨著USB-C接口的普及&#xff0c;歐盟的法律法規強制越來越多的設備開始采用這種接口。由于 USB-C接口的高效性和便攜性&#xff0c;使各種設備之間的連接和數據傳輸變得非常方便快捷&#xff0c;它們不僅提供了強大的功能&#xff0c;還為我們的日常生活和工作帶來了極大的便利…

青少年CTF-Misc(持續更新中)

FLAG&#xff1a;當覺得自己很菜的時候&#xff0c;就靜下心來學習 專研方向:Web安全&#xff0c;CTF 每日emo&#xff1a;聽一千遍反方向的鐘&#xff0c;我們能回到過去嗎&#xff1f; 1.StegoTXT&#xff1a; 解壓縮文件。發現字母中存在覆蓋。使用0寬隱寫在線解密得到flag…

YOLOv8改進 | 2023主干篇 | EfficientViT替換Backbone(高效的視覺變換網絡)

一、本文介紹 本文給大家帶來的改進機制是EfficientViT&#xff08;高效的視覺變換網絡&#xff09;&#xff0c;EfficientViT的核心是一種輕量級的多尺度線性注意力模塊&#xff0c;能夠在只使用硬件高效操作的情況下實現全局感受野和多尺度學習。本文帶來是2023年的最新版本…

?sqlite3 --- SQLite 數據庫 DB-API 2.0 接口模塊?

源代碼&#xff1a; Lib/sqlite3/ SQLite 是一個C語言庫&#xff0c;它可以提供一種輕量級的基于磁盤的數據庫&#xff0c;這種數據庫不需要獨立的服務器進程&#xff0c;也允許需要使用一種非標準的 SQL 查詢語言來訪問它。一些應用程序可以使用 SQLite 作為內部數據存儲。可…

量子算力引領未來!玻色量子出席第二屆CCF量子計算大會

?8月19日至20日&#xff0c;中國計算機學會&#xff08;CCF&#xff09;主辦的第二屆CCF量子計算大會暨中國量子計算峰會&#xff08;CQCC 2023&#xff09;在中國合肥成功舉辦。本屆大會以“量超融合&#xff0c;大國算力”為主題&#xff0c;設有量子計算軟件、硬件、應用生…

【C++類模板對象做函數參數】

類模板實例化出的對象&#xff0c;向函數傳參的方式 一共有三種傳入方式&#xff1a; 指定傳入的類型 — 直接顯示對象的數據類型參數模板化 — 將對象中的參數變為模板進行傳遞整個類模板化 — 將這個對象類型 模板化進行傳遞 總結&#xff1a;比較廣泛使用的是第一種&…

計算機網絡(三)

&#xff08;十一&#xff09;路由算法 A、路由算法分類 動態路由和靜態路由 靜態路由&#xff1a;人工配制&#xff0c;路由信息更新慢&#xff0c;優先級高。這種在實際網絡中要投入成本大&#xff0c;準確但是可行性弱。 動態路由&#xff1a;路由更新快&#xff0c;自動…

12/11

完善對話框&#xff0c;點擊登錄對話框&#xff0c;如果賬號和密碼匹配&#xff0c;則彈出信息對話框&#xff0c;給出提示”登錄成功“&#xff0c;提供一個Ok按鈕&#xff0c;用戶點擊Ok后&#xff0c;關閉登錄界面&#xff0c;跳轉到其他界面 如果賬號和密碼不匹配&#xf…

css的Grid布局

1.簡單布局 .grid { display: grid; grid-template-columns: 1fr 2fr 1fr; 布局樣式 column-gap: 24px; 列間距 row-gap: 24px; 行間距 } 2.排列布局 center垂直方向居中對其 end靠下對齊 3.水平方向對齊 center居中 end靠右對齊 space-between兩段對齊 4.對…

【SpringBoot】Spring Boot 單體應用升級 Spring Cloud 微服務

Spring Cloud 是在 Spring Boot 之上構建的一套微服務生態體系&#xff0c;包括服務發現、配置中心、限流降級、分布式事務、異步消息等&#xff0c;因此通過增加依賴、注解等簡單的四步即可完成 Spring Boot 應用到 Spring Cloud 升級。 Spring Boot 應用升級為 Spring Cloud…

插入排序和希爾排序

目錄 前言 一.插入排序 1.思想 2.實現 3.特點 二,希爾排序 1.思想 2,實現 3.特點 前言 排序算法是計算機科學中的基礎工具之一&#xff0c;對于數據處理和算法設計有著深遠的影響。了解不同排序算法的特性和適用場景&#xff0c;能夠幫助程序員在特定情況下選擇最合適的…

如何使用玻璃材質制作3D鉆石模型

在線工具推薦&#xff1a; 3D數字孿生場景編輯器 - GLTF/GLB材質紋理編輯器 - 3D模型在線轉換 - Three.js AI自動紋理開發包 - YOLO 虛幻合成數據生成器 - 三維模型預覽圖生成器 - 3D模型語義搜索引擎 當談到游戲角色的3D模型風格時&#xff0c;有幾種不同的風格&#xf…

Spark與PySpark(1.概述、框架、模塊)

目錄 1.Spark 概念 2. Hadoop和Spark的對比 3. Spark特點 3.1 運行速度快 3.2 簡單易用 3.3 通用性強 3.4 可以允許運行在很多地方 4. Spark框架模塊 4.1 Spark Core 4.2 SparkSQL 4.3 SparkStreaming 4.4 MLlib 4.5 GraphX 5. Spark的運行模式 5.1 本地模式(單機) Local運行模…

初識Vue 解決vue在啟動時生成的提示

讓我為大家簡單介紹一下吧&#xff01; Vue是一套用于構建用戶界面的漸進式javaScript框架 當我們引入vue.js后 <script src"../js/vue.js"></script>我們發現&#xff0c;當我們打開網頁時&#xff0c;控制臺會出現以下內容 那我們該怎么解決呢&…

【設計模式--結構型--組合模式】

設計模式--結構型--組合模式 組合模式定義結構案例組合模式的分類優點使用場景 組合模式 定義 又稱部分整體模式&#xff0c;是用于把一組相似的對象當作一個單一的對象。組合模式依據樹型結構來組合對象&#xff0c;用來表示部分以及整體層次&#xff0c;這種類型的設計模式…