Kuali Rice Development
  1. Kuali Rice Development
  2. KULRICE-10064

evaluateOnKeyUp does not capture events when browser autocomplete values are selected

    Details

    • Type: Bug Fix Bug Fix
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.3
    • Fix Version/s: 2.4
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Similar issues:
      KULRICE-5979SuggestBox fires onBlur events before user selection processed
      KULRICE-12314Multi Value select when paging does not work when there are multiple results selected across pages
      KULRICE-11534Create New Agenda requires two blur events to fully render Type when Context is typed in (first renders label, second renders select)
      KULRICE-3358When reopening an event notification from the action list or doc search, the event's start/end date values have the wrong hour
      KULRICE-6833Enable onclick event for Group components
      KULRICE-5425Opening new browser tab not announced to user
      KULRICE-11690Change return value link to 'select' button
      KULRICE-10977Multi Value Lookup : Implement server side paging for both rich and non rich tables when data selected is not on current page
      KULRICE-8804Uppercase implementation does not uppercase values
      KULRICE-3697When submitting new Person, browser screen continuously scrolls
    • Rice Module:
      KRAD
    • Application Requirement:
      KS
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required
    • Code Review Status:
      Not Required
    • Include in Release Notes?:
      Yes

      Description

      When:
      An input control has evaluateOnKeyUp, and
      A user selects a value from their browser's autocomplete/autosuggest list,

      No events are captured, therefor the evaluation is never run.

      To circumvent this, temporarily, we added the following code:

      function toggleTextBoxes(textBox){
      jQuery(textBox).bind('input', function(event)

      { jQuery(textBox).keyup(); console.log(event); }

      );
      }

      Which is called by the onclick event.

      This allows us to capture any events, and simulate the keyup event to trigger the evaluation.

        Issue Links

          Activity

          Hide
          Brian Smith (Inactive) added a comment -

          Did some re-investigation on this, the solution above won't work for us because it will generate two keyup per a keystroke. We need to change our keyups to use the input event wholesale but this has design implications for component and things which currently use keyup. Also the input event is not supported in IE8 (and has a small bug in IE9) which would require a workaround. See for explanation of all this stuff: http://benalpert.com/2013/06/18/a-near-perfect-oninput-shim-for-ie-8-and-9.html including explanation of why we need to support the onInput event for KRAD.

          Show
          Brian Smith (Inactive) added a comment - Did some re-investigation on this, the solution above won't work for us because it will generate two keyup per a keystroke. We need to change our keyups to use the input event wholesale but this has design implications for component and things which currently use keyup. Also the input event is not supported in IE8 (and has a small bug in IE9) which would require a workaround. See for explanation of all this stuff: http://benalpert.com/2013/06/18/a-near-perfect-oninput-shim-for-ie-8-and-9.html including explanation of why we need to support the onInput event for KRAD.

            People

            • Assignee:
              Brian Smith (Inactive)
              Reporter:
              David Poindexter (Inactive)
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Structure Helper Panel