m0_46075468 2022-07-26 10:38 采纳率: 89.3%
浏览 38
已结题

onblur和onkeydown冲突问题

onkeydown和onblur冲突问题,onkeydown一个function,onblur也有一个function,两个function是同一个function,只要我回车就会调用两次funtion,应该怎么解决,我不想删除onkeydown里的function然后只剩下onblur里面的function,调用okeydown的时候更换焦点调用onblur,我想既能实现回车调用function也可以失去焦点调用function,同时调用onkeydown只走onkeydown不触碰onblur,onblur只调用onblur不触碰onkeydown,无论我回车还是失去焦点,都只走一遍function,求解决办法

  • 写回答

2条回答 默认 最新

  • 关注

    jQuery:bind方法绑定事件

    // 常规写法:
    var count = 0;
    $(".btn").bind("click mouseenter mouseleave",function(event){
        // 事件类型(行为)
        var origType = event.handleObj.origType;
        // 判断事件类型
        if(origType == "click"){
            count ++;
            console.log("click",count);
            if(count == 5){
                // $(".btn").unbind("click");//解绑点击事件
                $(".btn").unbind();//解绑所有的事件
            }
        }else if(origType == "mouseleave"){
            console.log("mouseleave");
        }
    })
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 崽崽的谷雨 2022-07-26 10:54
    关注

    你需要判断 keyCode 码 ==13 再执行 。要不然 肯定会冲突

    
    <!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>
        <style>
          
        </style>
    </head>
    <body>
       <input type="text" id="txt">
    </body>
    <script>
        let txt=document.getElementById("txt");
        txt.onblur=function(){
            console.log("失去焦点")
            v();
        };
        txt.onkeydown=function(e){
            let keyCode=e.keyCode;
            if(keyCode==13){
                console.log("键盘按下");
                v()
            }
           
        }
        function v(){
            console.log("888")
        }
    </script>
    </html>
    
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月3日
  • 已采纳回答 7月26日
  • 修改了问题 7月26日
  • 修改了问题 7月26日
  • 展开全部

悬赏问题

  • ¥15 编译arm板子的gcc
  • ¥20 C语言用栈实现无向图邻接矩阵广度优先遍历
  • ¥15 C++代码报错问题,c++20协程
  • ¥15 c++图Djikstra算法求最短路径
  • ¥15 Linux操作系统中的,管道通信问题
  • ¥15 ansible tower 卡住
  • ¥15 等间距平面螺旋天线方程式
  • ¥15 通过链接访问,显示514或不是私密连接
  • ¥100 系统自动弹窗,键盘一接上就会
  • ¥50 股票交易系统设计(sql语言)