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.....
}
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>
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯