html5 input输入实时检测以及延时优化


Posted in HTML / CSS onJuly 18, 2018

有个项目是,这么个情况,输入框,实时监测输入,触发请求。

第一想法是input 上的onchange()方法,试了一下,不好用,是值等更改确认了,才会触发,不即时。

上网查了一下,

$("#fix").on('input propertychange', function(event){
});

方法的确可以用,但是实时更改。发送的频率有点快啊。

赶紧加个定时器setTimeout.

$("#fix").on('input propertychange', function(event){
   setTimeout(function(){    //延迟0.5s执行
                   console.log($("#fix").val())
        },500);
});

问题又来了,定时器是异步,虽然延迟,但是还会执行,没啥改变。

后来又想到解绑unbind,bind,但是解绑的时间里获取不到键盘输入的事件。

当时第一想法是,触发事件-删除定时器-添加定时器-执行函数。发现还是不好,定时器删不掉,干脆就不执行了。

最后上网查了一下,发现一种新方法。

时间戳法。

原理就是,每次输入修改全局变量,时间戳,延迟0.5s监测 新的时间戳和和绑定的时间戳相等,就进行下一步。

-----html-----

<input type="text" id="fix">
------script-----
var last;
$("#fix").on('input propertychange', function(event){
    //"#fix为你的输入框
       last = event.timeStamp;
       //利用event的timeStamp来标记时间,这样每次事件都会修改last的值,注意last必需为全局变量
       setTimeout(function(){    //设时延迟0.5s执行
            if(last-event.timeStamp==0)
               //如果时间差为0(也就是你停止输入0.5s之内都没有其它的keyup事件发生)则做你想要做的事
              {
                   console.log($("#fix").val())
               }
        },500);
});

总结

以上所述是小编给大家介绍的html5 input输入实时检测以及延时优化,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

HTML / CSS 相关文章推荐
表单button的outline在firefox浏览器下的问题
Dec 24 HTML / CSS
纯css3无js实现的Android Logo(有简单动画)
Jan 21 HTML / CSS
CSS3 RGBA色彩模式使用实例讲解
Apr 26 HTML / CSS
无需JS和jQuery代码实现CSS3鼠标浮动放大图片
Nov 21 HTML / CSS
css3的动画特效之动画序列(animation)
Dec 22 HTML / CSS
详解css3中 text-fill-color属性
Jul 08 HTML / CSS
html5服务器推送_动力节点Java学院整理
Jul 12 HTML / CSS
HTML5实现文件断点续传的方法
Jan 04 HTML / CSS
html5唤醒APP小记
Mar 27 HTML / CSS
canvas画图被放大且模糊的解决方法
Aug 11 HTML / CSS
AmazeUI 网格的实现示例
Aug 13 HTML / CSS
HTML5之高度塌陷问题的解决
Jun 01 HTML / CSS
利用canvas实现图片压缩的示例代码
Jul 17 #HTML / CSS
canvas 如何绘制线段的实现方法
Jul 12 #HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
Jul 12 #HTML / CSS
如何用canvas实现在线签名的示例代码
Jul 10 #HTML / CSS
canvas简易绘图的实现(海绵宝宝篇)
Jul 04 #HTML / CSS
快速实现一个简单的canvas迷宫游戏的示例
Jul 04 #HTML / CSS
HTML5中form如何关闭自动完成功能的方法
Jul 02 #HTML / CSS
You might like
PHP 表单提交给自己
2008/07/24 PHP
php 冒泡排序 交换排序法
2011/05/10 PHP
深入理解php的MySQL连接类
2013/06/07 PHP
PHP随机字符串生成代码(包括大小写字母)
2013/06/24 PHP
PHP实现自动对图片进行滚动显示的方法
2015/03/12 PHP
YII框架中使用memcache的方法详解
2017/08/02 PHP
html下载本地
2006/06/19 Javascript
javascript实现仿银行密码输入框效果的代码
2007/12/13 Javascript
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
2013/01/16 Javascript
jquery插件之定时查询待处理任务数量
2014/05/01 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
2014/12/03 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
2015/10/23 Javascript
jQuery对象的链式操作用法分析
2016/05/10 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
360提示[高危]使用存在漏洞的JQuery版本的解决方法
2017/10/27 jQuery
Vue 项目代理设置的优化
2018/04/17 Javascript
JS与CSS3实现图片响应鼠标移动放大效果示例
2018/05/04 Javascript
深入浅析angular和vue还有jquery的区别
2018/08/13 jQuery
layui结合form,table的全选、反选v1.0示例讲解
2018/08/15 Javascript
jQuery事件blur()方法的使用实例讲解
2019/03/30 jQuery
微信小程序sessionid不一致问题解决
2019/08/30 Javascript
详解Vue数据驱动原理
2020/11/17 Javascript
[03:17]DOTA2-DPC中国联赛1月29日Recap集锦
2021/03/11 DOTA
详解Python的Django框架中的模版继承
2015/07/16 Python
pandas通过索引进行排序的示例
2018/11/16 Python
Python 加密与解密小结
2018/12/06 Python
基于python实现matlab filter函数过程详解
2020/06/08 Python
工程现场管理求职自荐信
2013/10/02 职场文书
实习单位推荐信范文
2013/11/27 职场文书
社区网格化管理实施方案
2014/03/21 职场文书
优秀学生党员先进事迹材料
2014/05/29 职场文书
平面设计师岗位职责
2014/09/18 职场文书
查摆问题整改措施范文
2014/10/11 职场文书
详解MySQL的主键查询为什么这么快
2022/04/03 MySQL