some works on autocomplete (return with no selection = cancel, tab = select next)
This commit is contained in:
parent
c9014a111f
commit
78bfb8b14e
1 changed files with 16 additions and 5 deletions
|
@ -23,6 +23,13 @@ function ACPopup(elm,backend_url){
|
||||||
style = $(elm.container).offset();
|
style = $(elm.container).offset();
|
||||||
w = elm.container.offsetWidth;
|
w = elm.container.offsetWidth;
|
||||||
h = elm.container.offsetHeight;
|
h = elm.container.offsetHeight;
|
||||||
|
// Quick fix for chrome until I get a tool to inspect the dom
|
||||||
|
// Chrome returns 0x0
|
||||||
|
if(! w)
|
||||||
|
w = 530;
|
||||||
|
if(! h)
|
||||||
|
h = 130;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
style.top=style.top+h;
|
style.top=style.top+h;
|
||||||
|
@ -105,9 +112,13 @@ ACPopup.prototype._search = function(){
|
||||||
$(this.cont).append(elm);
|
$(this.cont).append(elm);
|
||||||
}
|
}
|
||||||
ACPopup.prototype.onkey = function(event){
|
ACPopup.prototype.onkey = function(event){
|
||||||
if (event.keyCode == '13' && this.idsel>-1) {
|
if (event.keyCode == '13') {
|
||||||
this.cont.children()[this.idsel].click();
|
if(this.idsel>-1) {
|
||||||
event.preventDefault();
|
this.cont.children()[this.idsel].click();
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
this.close();
|
||||||
}
|
}
|
||||||
if (event.keyCode == '38') { //cursor up
|
if (event.keyCode == '38') { //cursor up
|
||||||
cmax = this.cont.children().size()-1;
|
cmax = this.cont.children().size()-1;
|
||||||
|
@ -115,14 +126,14 @@ ACPopup.prototype.onkey = function(event){
|
||||||
if (this.idsel<0) this.idsel=cmax;
|
if (this.idsel<0) this.idsel=cmax;
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
}
|
}
|
||||||
if (event.keyCode == '40') { //cursor down
|
if (event.keyCode == '40' || event.keyCode == '9') { //cursor down
|
||||||
cmax = this.cont.children().size()-1;
|
cmax = this.cont.children().size()-1;
|
||||||
this.idsel++;
|
this.idsel++;
|
||||||
if (this.idsel>cmax) this.idsel=0;
|
if (this.idsel>cmax) this.idsel=0;
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event.keyCode == '38' || event.keyCode == '40' ) {
|
if (event.keyCode == '38' || event.keyCode == '40' || event.keyCode == '9') {
|
||||||
this.cont.children().removeClass('selected');
|
this.cont.children().removeClass('selected');
|
||||||
$(this.cont.children()[this.idsel]).addClass('selected');
|
$(this.cont.children()[this.idsel]).addClass('selected');
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue