部份的code
提示框的部份<div id="sug'+i+'"'+' onmouseover="javascript:suggestOver(this);"
'onmouseout="javascript:suggestOut(this);"
'onclick="javascript:setSearch(this.innerHTML);"
'onkeyup="javascript:keyHandler(this,event);"
'class="suggest_link">' + str[i ] + '</div> 控制移動的codefunction keyHandler(obj,eve){
var key = window.event ? eve.keyCode : eve.which;
var DivText = document.getElementById("Keyword");
if(key == 13){
...
}else if(key == 38){
if(obj.previousSibling!=null){
DivText.focus();
obj.blur();
obj.onmouseout();
obj.previousSibling.focus();
obj.previousSibling.onmouseover();
}else{
DivText.focus();
obj.blur();
obj.onmouseout();
}
}else if(key == 40){
if(obj.nextSibling!=null){
DivText.focus();
obj.blur();
obj.onmouseout();
obj.nextSibling.focus();
obj.nextSibling.onmouseover();
}else{
DivText.focus();
obj.blur();
obj.onmouseout();
}
}
} 每個div內都有個onkeyup事件
所以我必須將foucs放到div上
再來就是如果在focus上的div按上下鍵後的處理
code上我有將textfield focus
不過後面div也focus的話會蓋掉
如果先focus div再focus textfield
則一樣前面的會沒focus的效果了
其他網站是如何達到這種上下移動
卻不會讓textfield內的光標消失 |