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教程:CSS3圆角属性
Apr 02 HTML / CSS
网页切图的CSS和布局经验与要点
Apr 09 HTML / CSS
基于CSS3实现的漂亮Menu菜单效果代码
Sep 10 HTML / CSS
基于html和CSS3制作酷炫的导航栏
Sep 23 HTML / CSS
CSS3近阶段篇之酷炫的3D旋转透视
Apr 28 HTML / CSS
HTML4和HTML5之间除了相似以外的10个主要不同
Dec 13 HTML / CSS
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
Dec 25 HTML / CSS
基于html5实现的图片墙效果
Oct 16 HTML / CSS
canvas中普通动效与粒子动效的实现代码示例
Jan 03 HTML / CSS
css3 filter属性的使用简介
Mar 31 HTML / CSS
CSS极坐标的实例代码
Jun 03 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&amp;java(三)
2006/10/09 PHP
深思 PHP 数组遍历的差异(array_diff 的实现)
2008/03/23 PHP
php 过滤危险html代码
2009/06/29 PHP
php实现12306余票查询、价格查询示例
2014/04/17 PHP
destoon供应信息title调用出公司名称的方法
2014/08/22 PHP
深入浅出讲解:php的socket通信原理
2016/12/03 PHP
Yii 2.0自带的验证码使用经验分享
2017/06/19 PHP
JS在IE和FF下attachEvent,addEventListener学习笔记
2009/11/26 Javascript
window.location.href IE下跳转失效的解决方法
2014/03/27 Javascript
js实现带圆角的多级下拉菜单效果
2015/08/28 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
探讨JavaScript标签位置的存放与功能有无关系
2016/01/15 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
jQuery 3.0十大新特性
2016/07/06 Javascript
AngularJS上传文件的示例代码
2018/11/10 Javascript
Nodejs中获取当前函数被调用的行数及文件名详解
2018/12/12 NodeJs
vue 监听 Treeselect 选择项的改变操作
2020/08/31 Javascript
js实现随机圆与矩形功能
2020/10/29 Javascript
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
Python实现基于KNN算法的笔迹识别功能详解
2018/07/09 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
2018/11/23 Python
python 字典套字典或列表的示例
2019/12/16 Python
python3 实现口罩抽签的功能
2020/03/11 Python
django xadmin action兼容自定义model权限教程
2020/03/30 Python
python3 简单实现组合设计模式
2020/07/02 Python
比利时的在线灯具店:Lampen24.be
2019/07/01 全球购物
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
资料员的岗位职责
2013/11/20 职场文书
大学生的创业计划书就该这么写
2014/01/30 职场文书
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
质量月活动策划方案
2014/03/10 职场文书
最新结婚典礼主持词
2014/03/14 职场文书
先进党组织事迹材料
2014/12/26 职场文书
2015小学教育教学工作总结
2015/07/21 职场文书
使用pycharm运行flask应用程序的详细教程
2021/06/07 Python