键盘执行多次

时间:2018-10-08 05:31:30

标签: jquery html

内部keyup函数执行多次,而我只希望它为每个击键执行一次。内部加长键仅在长度大于3且每次击键一次时才起作用。 这是代码

<!doctype html>
<html>
<head>
    <title>Adder function using JQuery</title>
    <meta charset="utf-8" />
</head>
<body>
    <main>
        <input  type = 'text' class="parent"/>
    </main>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
    <script>
        $(document).ready(function()
    {
        var parent = 0, child = 0;
       'use strict';
       $('.parent').keyup(function()
    {
        console.log("parent part is executed\t" + ++parent + " times");
        if($('.parent').val().length >3)
        $('.parent').keyup(function()
    {
        console.log("now inside another keyup function\t" + ++child + " times");
    })
    }) 
    });
    </script>
</body>
</html>

有人可以告诉我为什么会发生这种情况吗?

1 个答案:

答案 0 :(得分:0)

if($('.parent').val().length >3)
        $('.parent').keyup(function()
    {
        console.log("now inside another keyup function\t" + ++child + " times");
    })

使用以下代码删除if循环条件,以便当parent值大于3时您的if循环起作用

if(parent >3)
        $('.parent').keyup(function()
    {
        console.log("now inside another keyup function\t" + ++child + " times");
    })