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 相关文章推荐
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
Nov 05 HTML / CSS
css3 自定义字体font-face使用介绍
May 14 HTML / CSS
Html5中的桌面通知Notification的实现
Sep 25 HTML / CSS
Html5新增标签与样式及让元素水平垂直居中
Jul 11 HTML / CSS
详解FireFox下Canvas使用图像合成绘制SVG的Bug
Jul 10 HTML / CSS
开发人员所需要知道的HTML5性能分析面面观
Jul 05 HTML / CSS
HTML5样式控制示例代码
Nov 27 HTML / CSS
HTML5有哪些新特征
Dec 01 HTML / CSS
详解html5 canvas 微信海报分享(个人爬坑)
Jan 12 HTML / CSS
Html5原创俄罗斯方块(基于canvas)
Jan 07 HTML / CSS
AmazeUI 图标的示例代码
Aug 13 HTML / CSS
HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手
May 10 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的五种设计模式
2012/09/05 PHP
php排序算法(冒泡排序,快速排序)
2012/10/09 PHP
PHP实现原比例生成缩略图的方法
2016/02/03 PHP
浅谈php中fopen不能创建中文文件名文件的问题
2017/02/06 PHP
PHP查询分页的实现代码
2017/06/09 PHP
jQuery之ajax删除详解
2014/02/27 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
2016/07/09 Javascript
原生js实现瀑布流布局
2017/03/08 Javascript
jquery表单提交带错误信息提示效果
2017/03/09 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
在小程序开发中使用npm的方法
2018/10/17 Javascript
[41:20]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS DK
2014/05/26 DOTA
[01:31:22]Ti4 循环赛第四日附加赛LGD vs Mouz
2014/07/13 DOTA
python通过urllib2爬网页上种子下载示例
2014/02/24 Python
Python实现计算最小编辑距离
2016/03/17 Python
对numpy中布尔型数组的处理方法详解
2018/04/17 Python
python 用正则表达式筛选文本信息的实例
2018/06/05 Python
CentOS 7下安装Python3.6 及遇到的问题小结
2018/11/08 Python
python命令行工具Click快速掌握
2019/07/04 Python
Python list运算操作代码实例解析
2020/01/20 Python
CLR与IL分别是什么含义
2016/08/23 面试题
土木工程毕业生推荐信
2013/10/28 职场文书
超级搞笑检讨书
2014/01/15 职场文书
本科毕业生求职自荐信
2014/02/03 职场文书
剪彩仪式主持词
2014/03/19 职场文书
群众路线党课主持词
2014/04/01 职场文书
平安建设工作方案
2014/06/02 职场文书
社团活动总结书
2014/06/27 职场文书
环境日宣传活动总结
2014/07/09 职场文书
植物生产学专业求职信
2014/08/08 职场文书
2014年医药代表工作总结
2014/11/22 职场文书
迎新年主持词
2015/07/06 职场文书
《卖火柴的小女孩》教学反思
2016/02/19 职场文书
Android studio 简单计算器的编写
2022/05/20 Java/Android
解决Git推送错误non-fast-forward的方法
2022/06/25 Servers
Nginx文件已经存在全局反向代理问题排查记录
2022/07/15 Servers