关于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之后.

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