根據需求要實現通過鍵盤上下移動,獲得聯想菜單中的值,如同google baidu的查詢功能。
在網上找了很久沒有找到可以實現該功能的插件,無奈只能自己動手改代碼。
找到js中的KEY.DOWN 和 KEY.UP執行代碼
如下:
. 代碼如下:
case KEY.DOWN:
event.preventDefault();
if ( select.visible() ) {
select.next();
}
else {
onChange(0, true);
}
break;
在select.next();後加入
. 代碼如下:
var selected = select.selected();
var v = selected.result;
$input.val(v);
這樣加好後,上下鍵時輸入框裡會有相應的值,但是聯想鍵盤上的光標卻不見了。
找到select.next(); 代碼的定義
. 代碼如下:
next: function() {
moveSelect(1);
},
加入一個類似的方法
. 代碼如下:
stay: function() {
moveSelect(1);
},
然後
. 代碼如下:
case KEY.DOWN:
event.preventDefault();
if ( select.visible() ) {
select.next();
var selected = select.selected();
var v = selected.result;
$input.val(v);
select.stay();
}
else {
onChange(0, true);
}
break;
這樣就可以了。
================================
非常感謝原作者,
加入一個類似的方法
. 代碼如下:
stay: function() {
moveSelect(1);
},後發現點擊上下鍵,是隔行移動,所以改為:
stay: function() {
moveSelect(0);
},