Fix broken event listeners - properly close click handler and wrap keydown
BUGFIX: Uncaught SyntaxError expected expression, got ')'
PROBLEM: Event listeners were malformed - click handler and keydown handler
were merged into one broken block
ROOT CAUSE: The click event listener was missing its closing braces and
btnAdd.click() call. Instead, the keydown handler code was pasted directly
after it WITHOUT the proper addEventListener wrapper. This caused:
1. Missing closing brackets for click handler
2. Reference to undefined 'e' variable (e.key) outside function scope
3. Browser threw SyntaxError/ReferenceError
SOLUTION:
1. Properly closed click event listener:
- Added btnAdd.click() call
- Added closing braces for function and addEventListener
- Added closing }); for forEach loop
- Added closing }); for \$.get() AJAX call
2. Created separate keydown event listener:
- Wrapped keyboard navigation code in lookup.addEventListener('keydown', function(e) {...})
- Now 'e' variable is properly defined in function scope
- Arrow keys, Enter, Escape all have access to event object
CODE STRUCTURE NOW:
- item.addEventListener('click', ...) - PROPERLY CLOSED
- }); // closes forEach
- }, 'json'); // closes AJAX
- }); // closes input event
- lookup.addEventListener('keydown', function(e) {...}) - NEW/PROPER
All event handlers are now independent and properly scoped.
This commit is contained in:
parent
1a592eda7c
commit
6f5bacc723
|
|
@ -1905,6 +1905,14 @@ $allergyStatusNoKnown = in_array($allergyStatusNormalized, ['no known drug aller
|
|||
lookup.value = value;
|
||||
dropdown.style.display = 'none';
|
||||
if (btnAdd) {
|
||||
btnAdd.click();
|
||||
}
|
||||
});
|
||||
});
|
||||
}, 'json');
|
||||
});
|
||||
|
||||
lookup.addEventListener('keydown', function(e) {
|
||||
var items = dropdown.querySelectorAll('.dropdown-item');
|
||||
var isVisible = dropdown.style.display === 'block' && items.length > 0;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user