关于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个回答

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问