function doQueryAjax(){ var oldvalue = $("#oldValue").val();// 这个用来判断你输入前后内容是否有变化,因为不同浏览器中文输入的时侯,你的标签里的文本内容不会出现变化 var xx = $("#textarea").val();//就是你输入的那个搜索的那个标签的值 // console.log(oldvalue + " :: " +xx); if(xx == oldvalue){ return; }else{ time++; setTimeout("timeAdd()",500); setTimeout("timeQuery()",502); } }
onkeyup 可以在中文输入法在textarea中每按一次键就触发一次 onkeydown 在输入中文时只每次触发事件返回ascii为229的字符 onkeypress 在中文输入法输入时无效
https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/charCode
用oninput事件
var isTrue = false; var time = 0; var delay = 0; function timeQuery(){ if(time == delay){ time = 0; delay = 0; $("#oldValue").val($("textarea[name='DESCRIPTION']").val()); 你的操作 } } function timeAdd(){ delay++; } function doQueryAjax(thisform){ var oldvalue = $("#oldValue").val(); var xx = thisform.DESCRIPTION.value; // console.log(oldvalue + " :: " +xx); if(xx == oldvalue){ return; }else{ time++; setTimeout("timeAdd()",500); setTimeout("timeQuery()",502); } } 这是我写的一个类似实时搜索的一个玩意,用的keyup去调用doQueryAjax,希望对你用帮助
chrome测试 中文输入法 每次按键盘,能触发onkeydown 不过不能获取到按键的 charCode keyCode。 获取到的是229
87,907
社区成员
224,614
社区内容
加载中
试试用AI创作助手写篇文章吧