32 lines
1018 B
JavaScript
32 lines
1018 B
JavaScript
export const pacSelectFirst = input => {
|
|
// store the original event binding function
|
|
var _addEventListener = input.addEventListener
|
|
? input.addEventListener
|
|
: input.attachEvent
|
|
|
|
function addEventListenerWrapper (type, listener) {
|
|
// Simulate a 'down arrow' keypress on hitting 'return' when no pac suggestion is selected,
|
|
// and then trigger the original listener.
|
|
if (type == 'keydown') {
|
|
var orig_listener = listener
|
|
listener = function (event) {
|
|
var suggestion_selected = $('.pac-item-selected').length > 0
|
|
if (event.which == 13 && !suggestion_selected) {
|
|
var simulated_downarrow = $.Event('keydown', {
|
|
keyCode: 40,
|
|
which: 40
|
|
})
|
|
orig_listener.apply(input, [simulated_downarrow])
|
|
}
|
|
|
|
orig_listener.apply(input, [event])
|
|
}
|
|
}
|
|
|
|
_addEventListener.apply(input, [type, listener])
|
|
}
|
|
|
|
input.addEventListener = addEventListenerWrapper
|
|
input.attachEvent = addEventListenerWrapper
|
|
}
|