JS 对输入判断变化屏蔽中文输入法连续输入时触发的事件
//智能搜索提示
IntelligenceSearch: function IntelligenceSearch() { $('#keyWord').on('input', function () {
if ($(this).prop('comStart')) return; // 中文输入过程中不截断
var url = $('#hKeyWord').val();
var data = { keyword: $('#keyWord').val() };
$('#words').html('');
imcis.ajax(url, data, false, function (data) {
var option = "";
$.each(data, function (key, value) {
option += '<option value=' + value + '>';
});
$('#words').html(option);
//alert('H');
});
}).on('compositionstart', function () {
$(this).prop('comStart', true);
}).on('compositionend', function () {
$(this).prop('comStart', false);
});
}

HTML以及加载方法:

<input list="words" autocomplete="off" id="keyWord" style="font-size:12px;" type="text" placeholder="请输入关键字" />
<datalist id="words" style="background:red"> @*<option value="Internet Explorer">
<option value="Firefox">
<option value="Chrome">
<option value="Opera">
<option value="Safari">
<option value="Sogou">*@
</datalist>

采用H5的datalist去提示
$(function () {
MedicalCase.IntelligenceSearch();
});
前台加载一下
具体的原理如下:

$(function () {
$('#text').on('input', function () {
if ($(this).prop('comStart')) return; // 中文输入过程中不截断
var value = $(this).val();
console.log('当前输入:' + value);
//if (Str.byteLen(value, 3) > 24) {
// $(this).val(Str.getMaxlen(value, 24));
//}
}).on('compositionstart', function () {
$(this).prop('comStart', true);
console.log('中文输入:开始');
}).on('compositionend', function () {
$(this).prop('comStart', false);
console.log('中文输入:结束');
});
})

开始和结束代表着事件的开始捕捉和结束捕捉
,这个做的更好一些能在后台加入缓存处理吗。还请大神指教
JS 对输入判断变化屏蔽中文输入法连续输入时触发的事件的更多相关文章
- JS对输入判断变化屏蔽中文输入法输入时连续触发事件的方法
代码如下: //智能搜索提示 IntelligenceSearch: function IntelligenceSearch() { $('#keyWord').on('input', functio ...
- wpf textbox只能输入数字,屏蔽中文输入
1.设置textbox属性InputMethod.IsInputMethodEnabled="False" 2.增加KeyDown事件 private void TextBox_K ...
- 【转载】中文输入法下onKeyPress不能触发的问题
onKeypress---->oninput https://segmentfault.com/a/1190000008820968
- js如何判断当前文本的输入状态——中文输入法的那些坑
相信各位在平时接需求的时候肯定会遇到这样的一些需求,例如,要求输入框限制输入长度,限制输入类型,限制只能英文输入,限制只能输入大写字母等等,这时候我们一般的思路无非两种,一种是弹出特定的键盘,第二种是 ...
- 屏蔽win10中文输入法
Windows 10自带的默认输入法,是通过Shift键来切换中/英文,这样为玩一些不需要打字,却需要使用Shift键的游戏带来了不便,比如,在进行游戏的时候,按下Shift键后,再按跳跃.射击等键, ...
- 从零开始,开发一个 Web Office 套件(11):支持中文输入法(or 其它使用输入法的语言)
这是一个系列博客,最终目的是要做一个基于 HTML Canvas 的.类似于微软 Office 的 Web Office 套件(包括:文档.表格.幻灯片--等等). 博客园:<从零开始, 开发一 ...
- 3.QT5.8支持中文输入法(附带老版本的解决+不理想的情况解决)
安装过程:http://www.cnblogs.com/dotnetcrazy/p/6725945.html 用了QT发现,中文输入法不能输入...一开始以为是输入法问题,后来发现,其他地方都可以中文 ...
- CentOS(linux发行版)系统安装中文输入法:
安装步骤: 1>.打开终端界面,使用su - root切换到超级用户,然后输入yum install"@Chinese support",回车. 2>.中间安装过程提示 ...
- win10下VS2010中文输入法切换为英文卡死
中文输入法下输入英文,VS2010会出现卡顿现象,之后会出现一大串的重复英文字母. win10下VS2010安装的助手VAssit系统不兼容,而win7下不会出现上述问题. 解决办法:卸载安装的助手V ...
随机推荐
- CentOS里route命令详解
Route 功能简述:linux系统中的route命令能够用于IP路由表的显示和操作.它的主要作用是创建一个静态路由让指定一个主机或者一个网络通过一个网络接口,如eth0.当使用"add&q ...
- MongoDB使用入门
1.MongoDB的安装 步骤一:下载MongoDB 下载安装包:http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.0.4.tgz 步骤二:设置 ...
- iOS项目开发实战——plist数组解析
plist数据是苹果公司创造的数据格式,基于XML,因为在iOS,Mac系统中操作plist很方便,所以我们经常会用到.在iOS项目中.系统会自己主动生成一个Info.plist文件,里面存放了iOS ...
- 微博试水卖车社交电商怎样令4S“颤抖”?
微博对社交电商的探索一直在深入,年初.微博上线了"支付"产品.从而使社交产业链实现了闭环,随后,微博又尝试售卖多种商品,不断扩大移动电商的试水范围,近期微博大规模汽车销售收 ...
- 【iOS开发】-NSString的扩展使用
第一:基本数据类型与字符串转换 //基本数据类型(int float,double char) 1)基本数据类型->NSString //1.int类型换换成字符串 int a = 88; NS ...
- asp.net编码解码的两篇文章
http://www.cnblogs.com/freshman0216/p/4165949.html http://www.cnblogs.com/freshman0216/p/4172655.htm ...
- UVA 437 The Tower of Babylon巴比伦塔
题意:有n(n≤30)种立方体,每种有无穷多个.要求选一些立方体摞成一根尽量高的柱子(可以自行选择哪一条边作为高),使得每个立方体的底面长宽分别严格小于它下方立方体的底面长宽. 评测地址:http:/ ...
- myeclipse提示:Syntax error on tokens, delete these tokens怎么解决
有中文字符或者符号,包括空格. 上次遇到一个问题,检查了一遍语法没错误, 后来发现是拷贝代码的时候有一部分中文空格没删除,就出现这个问题了. 一个个删除就OK了.
- ZFIND_EXIT_BADI
*&---------------------------------------------------------------------* *& Report ZFIND_EX ...
- YTU 2579: 填空题----删除指定字符
2579: 填空题----删除指定字符 时间限制: 1 Sec 内存限制: 128 MB 提交: 164 解决: 61 题目描述 小明想要做个小程序,能够删除字符串中特定的字符. 例如:想要在下面 ...