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实现类似翻书效果的过渡动画的示例代码
Sep 06 HTML / CSS
8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)
Feb 04 HTML / CSS
一款纯css3实现的动画加载导航
Oct 08 HTML / CSS
使用HTML和CSS3绘制基本卡通图案的示例分享
Nov 06 HTML / CSS
使用CSS3中的calc()属性来以算式表达尺寸数值
Jun 06 HTML / CSS
使用CSS3实现一个3D相册效果实例
Dec 03 HTML / CSS
CSS3打造百度贴吧的3D翻牌效果示例
Jan 04 HTML / CSS
使用HTML5进行SVG矢量图形绘制的入门教程
Feb 19 HTML / CSS
html5生成柱状图(条形图)效果的实例代码
Mar 25 HTML / CSS
HTML5实现文件断点续传的方法
Jan 04 HTML / CSS
从零实现一个自定义html5播放器的示例代码
Aug 01 HTML / CSS
Canvas实现放大镜效果完整案例分析(附代码)
Nov 26 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
全国FM电台频率大全 - 26 西藏自治区
2020/03/11 无线电
php注入实例
2006/10/09 PHP
PHP学习之PHP运算符
2006/10/09 PHP
笑谈配置,使用Smarty技术
2007/01/04 PHP
php array_map()数组函数使用说明
2011/07/12 PHP
PHP序列号生成函数和字符串替换函数代码
2012/06/07 PHP
探讨:parse url解析URL,返回其组成部分
2013/06/14 PHP
php中json_encode UTF-8中文乱码的更好解决方法
2014/09/28 PHP
php输出图像的方法实例分析
2017/02/16 PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
2019/11/09 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
input链接页面、打开新网页等等的具体实现
2013/12/30 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
2016/06/02 Javascript
简单理解vue中el、template、replace元素
2016/10/27 Javascript
AngularJS中的promise用法分析
2017/05/19 Javascript
基于react组件之间的参数传递(详解)
2017/09/05 Javascript
js闭包学习心得总结
2018/04/17 Javascript
微信小程序传值以及获取值方法的详解
2019/04/29 Javascript
如何给element添加一个抽屉组件的方法步骤
2019/07/14 Javascript
vue 项目软键盘回车触发搜索事件
2020/09/09 Javascript
详解Python的Django框架中的templates设置
2015/05/11 Python
13个最常用的Python深度学习库介绍
2017/10/28 Python
Python enumerate内置库用法解析
2020/02/24 Python
Python单例模式的四种创建方式实例解析
2020/03/04 Python
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
美国最大网上鞋店:Zappos
2016/07/25 全球购物
美国一家主营日韩美妆护肤品的在线商店:iMomoko
2016/09/11 全球购物
美国体育用品商店:Paragon Sports
2017/10/08 全球购物
美国最大的高尔夫发球时间预订网站:TeeOff.com
2018/03/28 全球购物
桥梁与隧道工程专业本科生求职信
2013/10/08 职场文书
执行力心得体会
2013/12/31 职场文书
护理专业自荐信范文
2014/02/26 职场文书
公司委托书格式范文
2014/10/09 职场文书
公司行政助理岗位职责
2015/04/11 职场文书
机关干部纪律作风整顿心得体会
2016/01/23 职场文书