diff options
author | Friendika <info@friendika.com> | 2011-11-11 22:40:19 -0800 |
---|---|---|
committer | Friendika <info@friendika.com> | 2011-11-11 22:40:19 -0800 |
commit | 78bfb8b14e4644682d37e769b69acf8a960ff067 (patch) | |
tree | b8e09e5d4f0f21af019c8187227407f6b39d0ee5 /js | |
parent | c9014a111f31425a31dbf935965287471a7a6acb (diff) | |
download | volse-hubzilla-78bfb8b14e4644682d37e769b69acf8a960ff067.tar.gz volse-hubzilla-78bfb8b14e4644682d37e769b69acf8a960ff067.tar.bz2 volse-hubzilla-78bfb8b14e4644682d37e769b69acf8a960ff067.zip |
some works on autocomplete (return with no selection = cancel, tab = select next)
Diffstat (limited to 'js')
-rw-r--r-- | js/fk.autocomplete.js | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/js/fk.autocomplete.js b/js/fk.autocomplete.js index 3f73c6fbb..545fd1645 100644 --- a/js/fk.autocomplete.js +++ b/js/fk.autocomplete.js @@ -23,6 +23,13 @@ function ACPopup(elm,backend_url){ style = $(elm.container).offset(); w = elm.container.offsetWidth; 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; @@ -105,9 +112,13 @@ ACPopup.prototype._search = function(){ $(this.cont).append(elm); } ACPopup.prototype.onkey = function(event){ - if (event.keyCode == '13' && this.idsel>-1) { - this.cont.children()[this.idsel].click(); - event.preventDefault(); + if (event.keyCode == '13') { + if(this.idsel>-1) { + this.cont.children()[this.idsel].click(); + event.preventDefault(); + } + else + this.close(); } if (event.keyCode == '38') { //cursor up cmax = this.cont.children().size()-1; @@ -115,14 +126,14 @@ ACPopup.prototype.onkey = function(event){ if (this.idsel<0) this.idsel=cmax; event.preventDefault(); } - if (event.keyCode == '40') { //cursor down + if (event.keyCode == '40' || event.keyCode == '9') { //cursor down cmax = this.cont.children().size()-1; this.idsel++; if (this.idsel>cmax) this.idsel=0; 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()[this.idsel]).addClass('selected'); } |