I have resolved my issue by troubleshooting and testing. Here are my comments
I defined an event handler function to handle the event, then call the trigger(), and then remove itself by window.removeEventListener();
After removing itself, I used a set timeout to re-add the event listener immediat...