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过渡_动力节点Java学院整理
Jul 11 HTML / CSS
定义css设备类型-Media Queries图表简介及使用方法
Jan 21 HTML / CSS
css3 transform属性详解
Sep 30 HTML / CSS
用CSS3的box-reflect设置文字倒影效果的方法讲解
Mar 07 HTML / CSS
CSS3的column-fill属性对齐列内容高度的用法详解
Jul 01 HTML / CSS
Html5上传图片 移动端、PC端通用代码
Jun 08 HTML / CSS
HTML5 实战PHP之Web页面表单设计
Oct 09 HTML / CSS
html5 音乐播放器 audio 标签使用概述
Jul 15 HTML / CSS
canvas因为图片资源不在同一域名下而导致的跨域污染画布的解决办法
Jan 18 HTML / CSS
HTML+CSS+JS实现图片的瀑布流布局的示例代码
Apr 22 HTML / CSS
用position:sticky完美解决小程序吸顶问题的实现方法
Apr 24 HTML / CSS
Canvas绘制像素风图片的示例代码
Sep 25 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
配置支持SSI
2006/11/25 PHP
php 获取SWF动画截图示例代码
2014/02/10 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
2011/10/12 Javascript
浏览器打开层自动缓慢展开收缩实例代码
2013/07/04 Javascript
js类定义函数时用prototype与不用的区别示例介绍
2014/06/10 Javascript
javascript数组去重的方法汇总
2015/04/14 Javascript
jQuery动态生成表格及右键菜单功能示例
2017/01/13 Javascript
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
详解小程序缓存插件(mrc)
2018/08/17 Javascript
javascript实现时间日期的格式化的方法汇总
2020/08/06 Javascript
vue祖孙组件之间的数据传递案例
2020/12/07 Vue.js
[03:11]不朽宝藏三外观展示
2020/09/18 DOTA
python获取标准北京时间的方法
2015/03/24 Python
Python程序中使用SQLAlchemy时出现乱码的解决方案
2015/04/24 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
2018/01/29 Python
初探利用Python进行图文识别(OCR)
2019/02/26 Python
Python开发之基于模板匹配的信用卡数字识别功能
2020/01/13 Python
python实现UDP协议下的文件传输
2020/03/20 Python
python 安装impala包步骤
2020/03/28 Python
django rest framework使用django-filter用法
2020/07/15 Python
Matplotlib中%matplotlib inline如何使用
2020/07/28 Python
HTML5 CSS3给网站设计带来出色效果
2009/07/16 HTML / CSS
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
有750多个顶级品牌的瑞士时尚在线:ABOUT YOU
2017/01/04 全球购物
Spartoo比利时:欧洲时尚购物网站
2017/12/06 全球购物
Perfume’s Club德国官网:在线购买香水
2019/04/08 全球购物
经理职责范文
2013/11/08 职场文书
董事长助理岗位职责
2015/02/11 职场文书
员工辞职信范文
2015/03/02 职场文书
考勤制度通知
2015/04/25 职场文书
2016猴年开门红标语口号
2015/12/26 职场文书
2016年学生会感恩节活动总结
2016/04/01 职场文书
python如何获取网络数据
2021/04/11 Python
Redis 常见使用场景
2021/08/30 Redis
SSM VUE Axios详解
2021/10/05 Vue.js