ICEfaces
  1. ICEfaces
  2. ICE-7083

onfocus onclick sequence issue with auto ajax

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major 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.

        Activity

        Hide
        Mircea Toma added a comment -

        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.

        Show
        Mircea Toma added a comment - 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.
        Hide
        Mircea Toma added a comment -

        The solution described above generated lots of regressions. The commit was rolled back.

        Show
        Mircea Toma added a comment - The solution described above generated lots of regressions. The commit was rolled back.
        Hide
        Mircea Toma added a comment -

        The solution chosen that hopefully won't generate any regressions was to apply the focus to elements that differ from the element owning the focus.

        Show
        Mircea Toma added a comment - The solution chosen that hopefully won't generate any regressions was to apply the focus to elements that differ from the element owning the focus.

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Mark Collette
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: