Fix Modified click trigger on form elements prevent default behaviour #3336
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The fix for a bug got stalled in #2771 so doing it again to address this bug.
The bug that was found is that if you use the from: syntax in a trigger to listen on another element like body for events it still uses the source element for making the decision on if a click event will get canceled/prevented to avoid it firing default form/link behaviour. This can cause all click events to be blocked on checkboxes and other elements in error when only valid form submits or certain link clicks should be prevented. So this fix changes it to use the events target for deciding which element types to prevent and it falls back to the source element if the event target is not valid.
Corresponding issue:
#2755
Testing
Did some manual testing and ran test suite and implemented tests from the original PR
Checklist
master
for website changes,dev
forsource changes)
approved via an issue
npm run test
) and verified that it succeeded