如何避免输入中文拼音时触发input事件

news2024/11/26 20:38:29

如何避免输入中文拼音时触发 input 事件

html 结构

<input type="text" name="" id="" />

js
定义了一个输入框并添加了三个事件监听器。以下是每个部分的解释:

const input = document.querySelector("input");
let isComposite = false;

获取页面中第一个 <input> 元素,并定义了一个名为 isComposite 的布尔变量,用于跟踪输入框是否处于合成输入状态。

const search = () => {
  console.log(`搜索:${input.value}`);
};

定义了一个名为 search 的函数,它将在输入框的值发生更改时被调用,并在控制台中记录搜索文本。

input.addEventListener("input", function () {
  if (!isComposite) {
    console.log(`output->input`);
    search();
  }
});

添加了一个 "input" 事件监听器,当输入框的值发生更改时触发。在监听器函数中,它首先检查输入框是否处于合成输入状态。如果不是,则在控制台中记录 "output->input",然后调用 search 函数。

input.addEventListener("compositionstart", () => {
  console.log(`output->合成事件-开始`);
  isComposite = true;
});

input.addEventListener("compositionend", () => {
  console.log("合成事件-结束");
  isComposite = false;
  search();
});

添加了两个合成事件监听器:"compositionstart""compositionend"。当输入法开始输入时,会触发 "compositionstart" 事件,此时将 isComposite 的值设置为 true,以指示输入框处于合成输入状态。当输入法完成输入时,会触发 "compositionend" 事件,此时将 isComposite 的值设置为 false,然后调用 search 函数以处理最终的搜索文本。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1097156.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

记一次U8登录异常问题

最近陆续有同事反映U8系统登录切换不同用户&#xff0c;在选择账套时U8长时间无反应。 一开始在经历二十多秒的等待后还会出现账套下拉列表选项&#xff0c;后来经历更长的时间等待后提示连接SQL服务器错误&#xff0c;如下图&#xff1a; 因为不切换用户时直接登录使用是没有…

leetcode-1.两数之和

1. 题目 2. 解答 遍历数组元素之和&#xff0c;由于只有唯一答案&#xff0c;并且数组中同一个元素不能重复出现&#xff0c; 因此可以使用双重遍历方式来计算所有可能&#xff1b; #include <stdio.h>void solve(int num[], int len, int target) {for (int i 0; i …

spring 注解: 更加简单的存储 Bean

目录 1. 更加简单的存储 Bean 1.1 添加注解 1.1.1 Controller【控制器存储】 1.1.2 Service【服务存储】 1.1.3 Repository【仓库存储】 1.1.4 Component【组件存储】 1.1.5 Configuration【配置存储】 1.1.6 类注解存储 Bean 的命名规则&#xff08;默认命名规则&…

浅谈精密配电多回路监控装置在轨道交通项目上的应用

安科瑞 须静燕 行业背景 轨道交通作为城市公共交通系统的一部分&#xff0c;在过去几十年中得到了广泛的发展和扩张。它在解决城市交通拥堵、减少环境污染、提高城市可持续性等方面发挥了重要作用。随着科技的进步&#xff0c;轨道交通系统也在不断引入新的技术和创新&#xff…

外汇天眼:本周监管警告名单更新,远离以下平台!

监管信息早知道&#xff01;外汇天眼将每周定期公布监管牌照状态发生变化的交易商&#xff0c;以供投资者参考&#xff0c;规避投资风险。如果平台天眼评分过高&#xff0c;建议投资者谨慎选择&#xff0c;因为在外汇天眼评分高不代表平台没问题&#xff01; 以下是监管牌照发生…

出差学知识No4:ubuntu vim中的各种必须掌握的经典操作(持续更新......)

1、给vim模式下打开的文档内容每行之前加上行号&#xff0c;便于问题定位 1、给vim模式下打开的文档内容每行之前加上行号&#xff0c;便于问题定位 摁一下Esc之后输入&#xff1a;set number

CentoS7 安装篇十二:mysql主从搭建(xtrackbackup不停机搭建)

一、mysql主从搭建使用mysql自身自己做&#xff0c;需要停止mysql服务进行&#xff0c;这种情况下面临以下问题 1.影响客户正在运行的软件&#xff0c;数据库比较大的情况下耗时时间长 2.如果不想影响客户使用体验&#xff0c;就是晚上加班搞 为了更好软件体验及避免加班情况&a…

Stm32_标准库_14_串口蓝牙模块_解决手机与蓝牙模块数据传输的不完整性

由手机向蓝牙模块传输时间信息&#xff0c;Stm32获取信息并将已存在信息修改为传入信息 测试代码&#xff1a; #include "stm32f10x.h" // Device header #include "Delay.h" #include "OLED.h" #include "Serial.h"uint16_t num…

可能是入门高阶数学的好通道 —— 很直观易记,又很难判断的真假的数学命题们

1. 有理数和无理数 实数轴上&#xff0c;2.0右侧的第一个实数b&#xff0c;b是无理数&#xff1b;&#xff08;么&#xff1f;&#xff09; 2. 点的个数 实数轴上0.0到2.0之间距离&#xff0c;是0.0到1.0之间距离的2倍&#xff0c;所以&#xff0c;显然&#xff0c;0.0到2.0之…

【LeetCode刷题(数据结构与算法)】:上下翻转二叉树

给你一个二叉树的根节点 root &#xff0c;请你将此二叉树上下翻转&#xff0c;并返回新的根节点 你可以按下面的步骤翻转一棵二叉树&#xff1a; 原来的左子节点变成新的根节点 原来的根节点变成新的右子节点 原来的右子节点变成新的左子节点 上面的步骤逐层进行。题目数据保…

大数据中间件——Kafka

Kafka安装配置 首先我们把kafka的安装包上传到虚拟机中&#xff1a; 解压到对应的目录并修改对应的文件名&#xff1a; 首先我们来到kafka的config目录&#xff0c;我们第一个要修改的文件就是server.properties文件&#xff0c;修改内容如下&#xff1a; # Licensed to the …

【每日一题】只出现一次的数字 III

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;位运算 其他语言cpython3 写在最后 Tag 【位运算】【数组】【2023-10-16】 题目来源 260. 只出现一次的数字 III 题目解读 找出数组中恰好只出现一次的连个元素&#xff0c;其余的所有元素均出现两次。要求算法的时间…

获取Steam余额的几种方式,及Steam余额被红锁的几种情况

今天就跟大家聊聊买余额的话题&#xff0c;获取Steam余额的几种方式&#xff0c;及Steam余额被红锁的几种情况。 什么是买余额呢&#xff1f; 指的就是卖家通过steam市场里面的饰品出售功能&#xff0c;把steam账号里的余额转移到买家账号中。 大家都知道&#xff0c;自从充值…

【前段基础入门之】=>CSS3新特性 2D 变换

导语&#xff1a; CSS3新特性&#xff0c;给我们带来了很多的丰富的过渡变换效果&#xff0c;这些效果使我们的页面效果变得更加的生动&#xff0c;这一章节&#xff0c;就给大家带来CSS3中的第一个变换效果&#xff1a;2D 变换 在正式了解2D 变换之前,我们需要了解&#xff0c…

啥?PS一秒成图?Adobe的逆天黑科技大公开

在日前举行的 Adobe MAX 创意大会上&#xff0c;Adobe Adobe Firefly Image 2&#xff08;萤火虫二代成像模型&#xff09;、Firefly Vector Model&#xff08;萤火虫矢量模型&#xff09;和Firefly Design Model&#xff08;萤火虫设计模型&#xff09;。 Firefly矢量模型是世…

155M传输分析仪 优劣势分析

D240S SDH测试模块&#xff0c;是FT100智能网络测试平台产品家族的一部分&#xff0c;是一个坚固耐用、锂电池超长供电的传统PDH/SDH测试解决方案&#xff0c;支持155Mbps到2.048Mbps速率的传输链路测试。支持在线和离线的传输链路的安装、维护和故障排除应用测试。 同时为经验…

分享一下微信小程序怎么添加抽奖活动

微信小程序是一种无需下载安装即可使用的应用&#xff0c;近年来在各行各业中得到了广泛应用。对于企业或商家而言&#xff0c;利用微信小程序开展抽奖活动可以吸引更多的用户关注&#xff0c;增加用户粘性并促进品牌传播。下面就以微信小程序添加抽奖活动为主题&#xff0c;探…

【Linux】环境下部署Nginx服务 - 二进制部署方式

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…

SOLIDWORKS PDM—2024版本新增

SOLIDWORKS产品数据管理 (PDM) 解决方案可帮助您控制设计数据&#xff0c;并且从本质上改进您的团队就产品开发进行管理和协作的方式。使用 SOLIDWORKS PDM Professional&#xff0c;您的团队能够&#xff1a;1. 安全地存储和索引设计数据以实现快速检索&#xff1b;2. 打消关于…

从简单到复杂,MVI 架构定义与封装使用总结

前言 时间回到一年多前讨论度很高的 MVI 架构&#xff0c;现在也已尘埃落地&#xff0c;没有什么争议并各自都有自己的一套实现方案了&#xff0c;接下来我们就看看这些网上各种各样的 MVI 架构是如何从简单到复杂&#xff0c;从 Java 到 Kotlin 到协程再到 Compose 的各个场景…