函数防抖
  YQaGkFzDL75c 2023年11月02日 100 0
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
<!-- 

     -->
</head>
<body>
    <input type="text" class="text">

    <script>
 
    // //获取元素
    // var int = document.querySelector('.text')
    // //打印value下面的值,但是会造成一个问题,当输入一个字,就会打印一个字,如果想要实现只打印最后的value值,如下
    // int.addEventListener('input',function(){
    //     console.log(this.value)
    // })

/* 
为了解决上述问题,使用下面方法,只打印最后一个value值
多行注释快捷键:shift+alt+a
逻辑:
注册事件,判断当前input框被操作后走回调函数,回调函数在通过函数进行打印
回调函数两个实参,第一个值,打印value值;第二个值,等待的时间
函数两个形参来自回调函数的两个实参
trimid =走该函数时,清空trimid,在将新的value给trimid(这样每次都是获取最后一次)

让函数调用this
获取函数所有参数

什么是函数防抖:比如:输入一个字,他会一直记录!会影响性能,所以使用以上方法解决函数防抖
 */
     function wsx(fn,fi){
        var trimid;
        return function(){
            clearTimeout(trimid)
            //调用外面的this = input
            var curthis = this;
            //获取所有函数的参数
            var sli = Array.prototype.slice.call(arguments)
            
            trimid = setTimeout(function(){
                //让fn指向这个this
                fn.call(curthis,sli)
            },fi)
        }
     }
        
        var hai = wsx(function(e){
            console.log(e,this.value+'测试')
        },1000)

        //获取到的元素
       var int = document.querySelector('.text');
       int.addEventListener('input',hai)
    </script>
</body>
</html>

  

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!--
-->
</head>
<body>
<input type="text" class="text">

<script>
 
// //获取元素
// var int = document.querySelector('.text')
// //打印value下面的值,但是会造成一个问题,当输入一个字,就会打印一个字,如果想要实现只打印最后的value值,如下
// int.addEventListener('input',function(){
//     console.log(this.value)
// })

/*

为了解决上述问题,使用下面方法,只打印最后一个value值

多行注释快捷键:shift+alt+a

逻辑:

注册事件,判断当前input框被操作后走回调函数,回调函数在通过函数进行打印

回调函数两个实参,第一个值,打印value值;第二个值,等待的时间

函数两个形参来自回调函数的两个实参

trimid =走该函数时,清空trimid,在将新的value给trimid(这样每次都是获取最后一次)


让函数调用this

获取函数所有参数


什么是函数防抖:比如:输入一个字,他会一直记录!会影响性能,所以使用以上方法解决函数防抖

*/
function wsx(fn,fi){
var trimid;
return function(){
clearTimeout(trimid)
//调用外面的this = input
var curthis = this;
//获取所有函数的参数
var sli = Array.prototype.slice.call(arguments)
            
trimid = setTimeout(function(){
//让fn指向这个this
fn.call(curthis,sli)
fi)
        }
     }
        
var hai = wsx(function(e){
console.log(e,this.value+'测试')
1000)

//获取到的元素
var int = document.querySelector('.text');
int.addEventListener('input',hai)
</script>
</body>
</html>
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  qmj2xyt4e0cp   2023年11月12日   46   0   0 nginxhtml服务器服务器htmlnginx
  qmj2xyt4e0cp   2023年11月12日   51   0   0 html服务器
  TuKgtV27aHkY   2023年11月12日   30   0   0 html搜索nginx
YQaGkFzDL75c
作者其他文章 更多

2023-11-02

2023-11-02