handlerOut not triggered when domElement is removed dynamically
clp-amsiq opened this issue · comments
Setting up hoverIntent with an object to access a dynamic element.
If this dynamic element is removed from dom while hovering (hadnlerIn is triggered and active) the handlerOut is never triggered.
In our case this result in a dropdown box frozen to the screen until refresh.
Thanks for reporting this! Can you please create a minimal JSFiddle that simply demonstrates the issue with the most recent version of the plugin? This will help with debugging and finding a fix. Thanks!
Not sure how bad this bug is.
It can be argued that the responsibility is in the hand of the user not the library. I have worked around it in our current project. However... In this fiddle https://jsfiddle.net/ed3564k1/46/ if you'll hover on the rendered text and keep the cursor hovering, Youll end up having doubled the over() function, and once the element is removed these 2 extra element are stuck in the layout
Thanks for the Fiddle!
It indeed looks like expected behavior. When the element has been removed from the DOM, no mouseleave
event is fired. Also, if an element is dynamically added under the pointer, then mouseenter
is fired. In your example, you don't even have to move the mouse, and over()
will be executed a second time due to this. (The same happens if you use .hover(over, out)
, as expected.)
Please let me know if there's something I may have missed, but if not, I'll close this issue. Thanks again for taking the time to create an issue, and thanks for using the plug-in!