From a usability standpoint, updating a div that contains clickable links doesn't seem like the best idea. If the content remains the same but is constantly re-rendered, it can lead to unnecessary flickering and potential malfunctions with the links.
To address this issue, one could compare the old and new content of the div and only trigger an update if there are actual changes. However, sudden changes right before the user clicks can be confusing. A solution could involve implementing animations, such as a fade-out followed by a fade-in, to signal to the user that the link they're targeting is about to change. Consider using a slow fade-out (1-2 seconds) for the old content and a quick fade-in (50-200 ms) for the new content.
As for hover styles not responding without moving the mouse, this behavior is typically controlled by the browser and may be difficult to modify. Attempting to manipulate the element through JavaScript or other methods may not always be successful and might not be worth the effort. Additionally, if content updates only occur when there are actual changes, the position of the link may vary, further complicating the situation.