Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 2.0.2
-
Fix Version/s: 2.1-Beta, 3.0, EE-2.0.0.GA_P01
-
Component/s: Bridge
-
Labels:None
-
Environment:ICEfaces 2
-
Assignee Priority:P1
Description
Set the focus on an input component, and then click on a submit h:commandButton that ICEfaces has auto AJAXified. Notice how the focus goes back to the input component, and the bridge focus management thinks that the input component should have focus when one would think the h:commandButton should have focus. This only happens on some browsers and not others.
ICE-7074 goes into detail explaining the issue. For that customer we used a workaround to side-step the problem, but that won't do for every customer.
Of particular interest, Brad mentions this doesn't happen with an h:commandButton with an f:ajax tag, so maybe something different happens.
ICE-7074 goes into detail explaining the issue. For that customer we used a workaround to side-step the problem, but that won't do for every customer.
Of particular interest, Brad mentions this doesn't happen with an h:commandButton with an f:ajax tag, so maybe something different happens.
The solution adopted was to record the focus for the element that was clicked to make sure that the focus retention works well even in browsers that fire the 'click' event before the 'focus' event. The implementation uses the bridge focus retention infrastructure to register on the focusable elements 'onclick' callbacks (along with the 'onfocus' callbacks) to save the focused element ID.