猿问

如何改变jquery的事件触发顺序

我在前台写了一个input,随后有一个隐藏的ul

<input id="typein" /><ul id="candlist" style="display:none;list-style:none;">
     <li id="kd">kd</li>
     <li>ld</li></ul>

然后在jquery里写


 1 <script> 2      var typein = $("#typein"); 3      var candlist = $("#candlist"); 4      //输入框变化时ul显示出来 5     typein.keyup(function () { 6            candlist.show(); 7     }); 8     //点击li,将其文本写入input框 9     $("#kd").click(function(){10            typein.val($("#kd").text());11     });12     //input框失去焦点时ul隐藏13     typein.blur(function(){14           candlist.hide();15     });16 </script>

注释掉blur()方法后,点击kd是可以填充input框的。

现在的问题是blur()发生在click之前,貌似click还没down,blur就已经发生了

请问如何让blur发生在click之后呢?

方法嵌套我试了貌似没什么用


慕后森
浏览 726回答 1
1回答
随时随地看视频慕课网APP
我要回答