日期:2014-05-16  浏览次数:20359 次

li的click事件与input的onblur事件发生冲突了怎么办
html如下:

<div class="searchContainer">
  <input type="text" name="txtSearch" class="search_text"/>  
  <a href="#"><img src="Images/Small_pic/08.gif" style="border:1px solid #ccc; left: 308px;" /></a>
  <div class="completionList"> <!-- 搜索关键字列表 -->
  <ul>  
  <li>jack</li>  
  <li>july</li> 
  <li>jerry</li> 
  <li>janu</li>  
  </ul>
  </div>  
</div>  
这是一个类似百度下拉搜索的功能。当我点击下拉关键字中的一项时, 隐藏下拉单,并将所选关键字填入input中,这个并不难实现,但矛盾的地方在哪里呢,我还想让input 失去焦点的时候隐藏下拉单,这时候就出现一个问题,li 的click 事件发生时又发生了input onblur事件, 结果就是下拉单被隐藏了,但选择的项没有填进input 中。input onblur 事件似乎取代了li click 事件.. 请问该如何处理这个问题?

------解决方案--------------------
不知道你是怎么处理的,

让input的获取焦点和失去焦点来控制ul的显示和隐藏

然后,又让li的click来控制ul的隐藏

一旦点击了某个li,就把这个li的值传递给指定的input


------解决方案--------------------
贴全你的代码
------解决方案--------------------
失去焦点时判断鼠标是否在下拉选项上