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 渐变(Gradients)之CSS3 径向渐变
Jul 08 HTML / CSS
Web前端绘制0.5像素的几种方法
Aug 11 HTML / CSS
CSS Houdini实现动态波浪纹效果
Jul 30 HTML / CSS
css3一个简易的 LED 数字时钟实现方法
Jan 15 HTML / CSS
HTML5中的postMessage API基本使用教程
May 20 HTML / CSS
html5的画布canvas——画出简单的矩形、三角形实例代码
Jun 09 HTML / CSS
HTML5实现的图片无限加载的瀑布流效果另带边框圆角阴影
Mar 07 HTML / CSS
HTML5制作酷炫音频播放器插件图文教程
Dec 30 HTML / CSS
Canvas实现贝赛尔曲线轨迹动画的示例代码
Apr 25 HTML / CSS
使用canvas来完成线性渐变和径向渐变的功能的方法示例
Jul 25 HTML / CSS
Html5让容器充满屏幕高度或自适应剩余高度的布局实现
May 14 HTML / CSS
纯CSS实现酷炫的霓虹灯效果
Apr 13 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/04 星际争霸
mysql中存储过程、函数的一些问题
2007/02/14 PHP
PHP初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
深入密码加salt原理的分析
2013/06/06 PHP
学习php设计模式 php实现模板方法模式
2015/12/08 PHP
CodeIgniter表单验证方法实例详解
2016/03/03 PHP
Javascript 更新 JavaScript 数组的 uniq 方法
2008/01/23 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
2015/09/12 Javascript
AngularJs concepts详解及示例代码
2016/09/01 Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
2016/09/17 Javascript
JS刷新父窗口的几种方式小结(推荐)
2016/11/09 Javascript
JS常见疑难点分析之match,charAt,charCodeAt,map,search用法分析
2016/12/25 Javascript
JS实现动态修改table及合并单元格的方法示例
2017/02/20 Javascript
ES6中的rest参数与扩展运算符详解
2017/07/18 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
2017/07/19 Javascript
浅谈angular2路由预加载策略
2017/10/04 Javascript
JS实现select选中option触发事件操作示例
2018/07/13 Javascript
js module大战
2019/04/19 Javascript
vue调用语音播放的方法
2019/09/27 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
python基于paramiko将文件上传到服务器代码实现
2019/07/08 Python
使用Python为中秋节绘制一块美味的月饼
2019/09/11 Python
PyTorch 普通卷积和空洞卷积实例
2020/01/07 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
2020/02/18 Python
Python 通过监听端口实现唯一脚本运行方式
2020/05/05 Python
京东奢侈品:全球奢侈品牌
2018/03/17 全球购物
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
庆元旦文艺演出主持词
2014/03/27 职场文书
融资合作协议书范本
2014/10/17 职场文书
无房证明样本
2015/06/17 职场文书
升学宴学生致辞
2015/09/29 职场文书
详解JavaScript中Arguments对象用途
2021/08/30 Javascript
PostgreSQL自动更新时间戳实例代码
2021/11/27 PostgreSQL
Win11怎么修改电源模式?Win11修改电源模式的方法
2022/04/05 数码科技
mysql 子查询的使用
2022/04/28 MySQL