Latenzproblem mit Primefaces overlayPanel - wird zu faul geladen

Ich verwende Primefaces 3.2 mit jsf 2 und glassfish 3.1.2.

Ich habe eine p: dataTable von Benutzern, die Avatare des Benutzers enthalten. Immer wenn der Benutzer die Maus über den Avatar bewegt, erscheint ein p: overlayPanel mit mehr Informationen (faul geladen) über den Benutzer und verschwindet, wenn der Benutzer den Cursor wegbewegt - wie folgt:

<p:overlayPanel for="avatar" dynamic="true" showEvent="mouseover" hideEvent="mouseout" ...>

Dies funktioniert sehr gut - solange der Benutzer "Slowhanded" ist. Immer wenn ein Benutzer den Cursor schnell über viele Avatare bewegt, bleiben viele der Overlay-Panels sichtbar. Zum Beispiel, wenn der Benutzer den Mauszeiger über die Position bewegt, an der Benutzeravatare angezeigt werden, und das Scrollrad seiner Maus verwendet, um die Benutzertabelle nach unten oder oben zu scrollen.

Ich glaube, dass das Overlaypanel beginnt, die Informationen dynamisch zu laden (dynamic="true") vom Server, wennshowEvent="mouseover" wird ausgelöst und zeigt das Overlaypanel an, nachdem die Antwort vom Server eingegangen ist. Auf diese Weise kann nicht festgestellt werden, ob der Cursor bereits entfernt ist, wenn das Overlaypanel sichtbar wirdhideEvent="mouseout" wird nie versendet.

Gibt es eine Möglichkeit, das Primefaces-Overlaypanel direkt auf dem Mauszeiger anzuzeigen, ein Lade-GIF anzuzeigen und den Inhalt im Overlaypanel zu aktualisieren, wenn die Antwort vom Server kommt?

Ist das ein guter Ansatz oder kennt jemand einen anderen Weg, um dieses böse Problem zu lösen?

Vielen Dank, Pete

Antworten auf die Frage(3)

Ihre Antwort auf die Frage