Destiny131 2017-10-11 09:44 采纳率: 0%
浏览 1265

关于jquery的事件触发顺序

页面上有一个input输入框,随后跟着一个隐藏的ul

 <input id="typein" />
 <ul id="candlist" style="display:none;listle:none;left:-35px;">
            <li id="kd">kd</li>
            <li>ld</li>
 </ul>

现在我写一个jq

 <script>
        var typein = $("#typein");
        var candlist = $("#candlist");
                //输入框有变化就显示ul
                typein.keyup(function(){
                     candlist.show();
                });
                //点击li,将其字段填入input框
                $("#kd").click(function(){
            typein.val($("#kd").text());
        });
                //input失去焦点时ul列表隐藏
                typein.blur(function(){
            candlist.hide();
        });
 </script>

我注释掉blur函数时,input是可以获取li的字段的。
但貌似我的click还没down,blur()就已经生效了。
请问如何把blur()放在click之后.

  • 写回答

1条回答 默认 最新

  • withnoword 2017-10-12 06:50
    关注

    焦点必须先从input输出框中转移到按钮中,按钮才会触发点击时间,所以原理上不行,如果你想要实现这个功能,不妨直接把hide放在click事件中,岂不美哉

    评论

报告相同问题?

悬赏问题

  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码