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 11 HTML / CSS
css3 矩阵的使用详解
Mar 20 HTML / CSS
html5 Canvas画图教程(2)—画直线与设置线条的样式如颜色/端点/交汇点
Jan 09 HTML / CSS
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
Jan 31 HTML / CSS
HTML5之语义标签介绍
Jul 07 HTML / CSS
解决HTML5手机端页面缩放的问题
Oct 27 HTML / CSS
iframe跨域的几种常用方法
Nov 11 HTML / CSS
canvas简单连线动画的实现代码
Feb 04 HTML / CSS
Html5定位终极解决方案
Feb 05 HTML / CSS
Html5页面获取微信公众号的openid的方法
May 12 HTML / CSS
HTML5拖拽文件上传的示例代码
Mar 04 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
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
PHP实现的策略模式示例
2019/03/20 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
extjs 为某个事件设置拦截器
2010/01/15 Javascript
JavaScript 放大镜 移动镜片效果代码
2011/05/09 Javascript
鼠标拖动实现DIV排序示例代码
2013/10/14 Javascript
jquery处理json数据实例分析
2014/06/03 Javascript
完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效
2014/11/12 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
nodejs创建web服务器之hello world程序
2015/08/20 NodeJs
jQuery实现美观的多级动画效果菜单代码
2015/09/06 Javascript
JS插件overlib用法实例详解
2015/12/26 Javascript
JS中使用变量保存arguments对象的方法
2016/06/03 Javascript
解析Json字符串的三种方法日常常用
2018/05/02 Javascript
快速解决Vue项目在IE浏览器中显示空白的问题
2018/09/04 Javascript
Angular6 正则表达式允许输入部分中文字符
2018/09/10 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
基于JavaScript实现每日签到打卡轨迹功能
2018/11/29 Javascript
IE11下处理Promise及Vue的单项数据流问题
2019/07/24 Javascript
vue实现直播间点赞飘心效果的示例代码
2019/09/20 Javascript
详解Vue 项目中的几个实用组件(ts)
2019/10/29 Javascript
通过实例解析javascript Date对象属性及方法
2020/11/04 Javascript
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
Python标准库之Sys模块使用详解
2015/05/23 Python
解决python给列表里添加字典时被最后一个覆盖的问题
2019/01/21 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
2019/06/03 Python
Python Django 添加首页尾页上一页下一页代码实例
2019/08/21 Python
Python实现微信好友的数据分析
2019/12/16 Python
python主线程与子线程的结束顺序实例解析
2019/12/17 Python
罗德与泰勒百货官网:Lord & Taylor
2016/08/12 全球购物
美国时尚在线:Showpo
2017/09/08 全球购物
德国足球商店:OUTFITTER
2019/05/06 全球购物
大专毕业生简历的自我评价
2013/10/20 职场文书
《掌声》教学反思
2014/02/23 职场文书
适合青年人白手起家的创业项目分享
2019/08/16 职场文书
使用springMVC所需要的pom配置
2021/09/15 Java/Android