作者knives ()
看板Ajax
標題Re: [問題] 當離開輸入框,要怎麼偵測該事件
時間Fri Mar 5 13:37:33 2010
這麼說好了
這個自動完成的js原來是大陸人寫的
要套用的話要這樣使用
<input name="searchkey" id="searchkey" value="" size="15" class="t_input"
type="text" onclick="auc.handleEvent(this.value ,event);"
onkeyup="auc.handleEvent(this.value ,event);"
onkeydown="closeOpt(searchkey,event);inputKeyDown(event);"
autocomplete="off">
<!-- 下面是自動完成跑出來的選單 -->
<div id="username_menu" class="ajax_selector"
onclick="$('username_menu').style.display='none';" style="display:none">
<ul>
<li>自動完成的資料</li>
</ul>
</div>
可是這樣的使用方式並沒有判斷當我滑鼠離開輸入框的事件
在closeOpt(searchkey,event)只有判斷當鍵盤輸入 Tab 鍵 才會關閉
後來我多加一個onblur="closeOpt(searchkey,event);"
但是這樣的話,當我在username_menu這個自動完成選單,選取 裡面的項目 的時候
因為它的確是離開了輸入框,而會執行closeOpt,但是如果不加上這個事件又不能關掉
所以說我要怎麼做才能達到像 Google的自動完成那樣
離開輸入框就關閉自動完成
※ 引述《knives ()》之銘言:
: 我在輸入框 加入onblur之後讓它去執行關掉 下拉選單的方法
: 但是這樣變成之後在下拉選單按下某筆資料的時候
: 它會判斷我已經離開輸入框,而去執行onblur事件關掉 下拉選單的方法
: 而不是執行新增某筆資料進輸入框的事件
: 請問我倒底該怎麼設計
: ※ 引述《knives ()》之銘言:
: : 我有做一個自動完成的功能
: : 可是希望當離開輸入框的時候,就把自動完成的下拉選單關掉
: : 可是我設定onchange的時候,按Tab移到別的地方,是有關掉,但是如果我直接將
: : 滑鼠移到其他地方,就不會關掉
: : 用onmouseout也是一樣不會有反應,請問我要怎麼設定事件去關掉
: : 謝謝
--
◣ ◢
◢██◣ ~
● ˙ ˙
█ ◥▌ ~● ~
● ◤◤◥◥
◤□︵□▌ ~
● ~
● > <
◥
o◤
~● ◥ █ ◤
▅◤.██.◤
世 界 波 ㄉ 洨 攻 擊 ◢ ▼ ◤
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.209.141.216
1F:→ emn178:選取後就關閉的行為有什麼不對的嗎 03/05 18:05