jq 监听input 输入的是英文还是汉文

这篇博客探讨了如何使用jQuery(jq)监听input事件,以判断用户是在输入英文还是汉字。文章通过示例代码指出,在输入汉字时input事件会被触发多次,而输入英文则只触发一次。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 s
 sh
 shu
 shu'r
 shu'ru
 shu'ru'y
 shu'ru'yi
 shu'ru'yi'g
 shu'ru'yi'ge
 shu'ru'yi'ge'z
 shu'ru'yi'ge'zi

 输入一个字

输入一个字  监听input框事件 触发了这么多次,但是我只是打5个字

 

/** 
 * 预载入
*/
window.onload = function () {
	var doing = false;
	var doSomething = function (e) {
		txt = $('#saytext').val();
		console.log(txt);
		leng = getByteLen(txt);
		mydate = new Date();
		times = mydate.getSeconds();
		obj = [leng, times];
		obj = JSON.stringify(obj);
		if ($.cookie("obj") != null) {
			last_leng = JSON.parse($.cookie("obj"))[0];
			last_times = JSON.parse($.cookie("obj"))[1];
			if (Math.abs(leng - last_leng) != 6) {
				return false;
			}
		}
		if (leng >= 10) {
			$.ajax({
				url: "" + URLROOT + "/user/work/anticipation",
				type: 'POST',
				data: {
					message: txt,
					clientid: clientid
				},
				success: function (data) {
					obj = [leng, times];
					obj = JSON.stringify(obj);
					// console.log(123456789);
					$.cookie('obj', obj);
				}
			})
		}
	}

	document.getElementById('saytext').addEventListener('compositionstart', function (e) {  //compositionstart禁止使用中文输入法
		doing = true;
	}, false);
	document.getElementById('saytext').addEventListener('input', function (e) {
		if (!doing) {
			doSomething();
		}
	}, false);

	document.getElementById('saytext').addEventListener('compositionend', function (e) {//compositionstart禁止使用英文
		doing = false;
		doSomething();
	}, false);
}


打汉字只输入一次 

jQuery中,可以使用`focus`方法来监听input元素的聚焦事件。例如: ``` $("input").focus(function () { // 在输入框聚焦时执行的操作 }); ```123 #### 引用[.reference_title] - *1* [js、jquery监听输入框input获取、失去焦点事件focus、blur](https://blog.csdn.net/qq_40015157/article/details/114139808)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *2* [jquery监听input回车键实现点击回车进行查询,JS获取键盘事件](https://blog.csdn.net/qq_38402659/article/details/98848188)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *3* [jq input输入框聚焦失焦处理;](https://blog.csdn.net/onlylele/article/details/102960373)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值