Passthrough arrows and Enter when hidden
parent
8837a2dbf3
commit
e98b0283da
16
hinter.js
16
hinter.js
|
@ -291,7 +291,12 @@ var SimpleAutocomplete = function(input, dataLoader, multipleDelimiter, onChange
|
||||||
if (ev.keyCode != 10 && ev.keyCode != 13)
|
if (ev.keyCode != 10 && ev.keyCode != 13)
|
||||||
self.show();
|
self.show();
|
||||||
if (ev.keyCode == 38 || ev.keyCode == 40 || ev.keyCode == 10 || ev.keyCode == 13)
|
if (ev.keyCode == 38 || ev.keyCode == 40 || ev.keyCode == 10 || ev.keyCode == 13)
|
||||||
|
{
|
||||||
|
if (self.hintLayer.style.display == '')
|
||||||
return stopEvent(ev, true, true);
|
return stopEvent(ev, true, true);
|
||||||
|
else
|
||||||
|
return true;
|
||||||
|
}
|
||||||
self.onChange();
|
self.onChange();
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
@ -301,13 +306,20 @@ var SimpleAutocomplete = function(input, dataLoader, multipleDelimiter, onChange
|
||||||
{
|
{
|
||||||
ev = ev||window.event;
|
ev = ev||window.event;
|
||||||
if (ev.keyCode == 10 || ev.keyCode == 13)
|
if (ev.keyCode == 10 || ev.keyCode == 13)
|
||||||
|
{
|
||||||
|
if (self.hintLayer.style.display == '')
|
||||||
return stopEvent(ev, true, true);
|
return stopEvent(ev, true, true);
|
||||||
|
else
|
||||||
|
return true;
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Handle arrow keys and Enter
|
// Handle arrow keys and Enter
|
||||||
self.onKeyPress = function(ev)
|
self.onKeyPress = function(ev)
|
||||||
{
|
{
|
||||||
|
if (self.hintLayer.style.display == 'none')
|
||||||
|
return true;
|
||||||
ev = ev||window.event;
|
ev = ev||window.event;
|
||||||
if (ev.keyCode == 38) // up
|
if (ev.keyCode == 38) // up
|
||||||
self.moveHighlight(-1);
|
self.moveHighlight(-1);
|
||||||
|
@ -363,12 +375,14 @@ var SimpleAutocomplete = function(input, dataLoader, multipleDelimiter, onChange
|
||||||
|
|
||||||
// Show hinter
|
// Show hinter
|
||||||
self.show = function()
|
self.show = function()
|
||||||
|
{
|
||||||
|
if (!self.disabled)
|
||||||
{
|
{
|
||||||
var p = getOffset(self.input);
|
var p = getOffset(self.input);
|
||||||
self.hintLayer.style.top = (p.top+self.input.offsetHeight) + 'px';
|
self.hintLayer.style.top = (p.top+self.input.offsetHeight) + 'px';
|
||||||
self.hintLayer.style.left = p.left + 'px';
|
self.hintLayer.style.left = p.left + 'px';
|
||||||
if (!self.disabled)
|
|
||||||
self.hintLayer.style.display = '';
|
self.hintLayer.style.display = '';
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Disable hinter, for the case when there is no items and no empty text
|
// Disable hinter, for the case when there is no items and no empty text
|
||||||
|
|
Loading…
Reference in New Issue