永发信息网

js 如何控制文本域输入内容触发事件查询相关数据

答案:2  悬赏:70  手机版
解决时间 2021-02-13 19:02
  • 提问者网友:太高姿态
  • 2021-02-12 22:41
文本域自身设置每按一键就触发一次js 函数进行查询相关数据,现在要控制按键在一定时间段内(大于1秒间隔时间)才触发一次js 函数,比如现在需要输入20110109001.而输入200101每按一键时间都在1秒以内,而输入09001每次按键时间亦在1秒钟以内.而输入200101后隔了一秒多才输入09001,所以在输入20110109001整个过程应该是输入200101后查询了一次数据直到输入完20110109001后又触发了js查询了一次数据,一共触发了两次,而不是每键一键就触发一次查询数据,目的控制不要每次都去查询数据.
最佳答案
  • 五星知识达人网友:零点过十分
  • 2021-02-13 00:14
在按键触发事件处理函数中加入时间标志 判断 前后两次时间即可,,大于1000毫秒则执行查询否则不执行
var lasttime=-1;
on_Key...(){
if(lasttime==-1)lasttime=new Date().get.... ;return//获得时间,具体函数名忘了
else
var tmpt=new Date().get.... -lasttime //判断时间差
if tmpt>1000 查询
else lasttime=new Date().get.....
}
全部回答
  • 1楼网友:几近狂妄
  • 2021-02-13 01:10
给你一段js代码参考,原理就是创建一个时间控件,按下按键就停止,抬起按键就计时,在配合按键检测(排除ctrl、shift之类的按键),就差不多咯: <script> var flag = 0; var t; function openflag () { t = settimeout(function(){flag = 1; dosomething();}, 1000); } function closeflag() { cleartimeout(t); flag = 0; } function dosomething() { if (flag) { // do something alert('aaa'); } } </script>
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯