Success! Looks like we've fixed this one. According to our records the fix was applied for EXTJS-9789 in 4.2.2.
  1. #1
    Sencha User
    Join Date
    Nov 2012
    Posts
    48
    Vote Rating
    2
    mbudm is on a distinguished road

      1  

    Default Uncontrollable flicker between textfields that have selectOnFocus

    Uncontrollable flicker between textfields that have selectOnFocus


    REQUIRED INFORMATION


    Ext version tested:
    • Ext 4.2
    Browser versions tested against:
    • Chrome Version 26.0.1410.64 m
    DOCTYPE tested against:
    • html
    Description:
    • When textfield components have the selectOnFocus config set to true, it is possible to end up with a rapid flickering between two text fields. It appears as though they are both trying to attain a focussed state.
    • A reliable way to reproduce this issue is to focus another window and then return to the browser and select a field, it may be reproducible by other means - our bug reports from real users say it happens 'randomly'
    Steps to reproduce the problem:
    • Load the supplied test code in a browser
    • Click the first text fields
    • Click the OS desktop or another application window
    • Click the second text field in the browser window
    The result that was expected:
    • The second text field should be focussed
    • The first text field should not be focussed
    The result that occurs instead:
    • The first and second text fields seems to be rapidly focussing & blurring continuously. (See attached video selectionOnFocusFlicker.zip)
    Test Case:

    Code:
        Ext.onReady(function() {
            
         
            Ext.create('Ext.panel.Panel',{
                items:[ {
                    xtype: 'textfield',
                    name: 'name1',
                    selectOnFocus:true,
                    value:'test data 1'
                    },{
                        xtype: 'textfield',
                        name: 'name2',
                        selectOnFocus:true,
                        value:'test data 2'
                }],
                renderTo: Ext.getBody()
            })
           
    
        })
    *EDIT BY SLEMMON
    tested ok on Chrome on OSX with 4.2
    tested ok on IE on Win 7 with 4.2
    tested ok on FF on Win 7 with 4.2
    Issue observed on Chrome on Win 7 on 4.2.1.842
    Last edited by slemmon; 9 May 2013 at 8:10 AM. Reason: additional test case info

  2. #2
    Sencha - Support Team slemmon's Avatar
    Join Date
    Mar 2009
    Location
    Boise, ID
    Posts
    5,115
    Vote Rating
    187
    slemmon is a splendid one to behold slemmon is a splendid one to behold slemmon is a splendid one to behold slemmon is a splendid one to behold slemmon is a splendid one to behold slemmon is a splendid one to behold slemmon is a splendid one to behold slemmon is a splendid one to behold

      1  

    Default


    Thanks for the report! I have opened a bug in our bug tracker.

  3. #3
    Sencha Premium Member jordandev's Avatar
    Join Date
    Feb 2011
    Location
    BC, Canada
    Posts
    41
    Vote Rating
    4
    jordandev is on a distinguished road

      0  

    Default


    Same problem here. A workaround for this would be nice, anyone have one?

  4. #4
    Sencha User
    Join Date
    Nov 2012
    Posts
    48
    Vote Rating
    2
    mbudm is on a distinguished road

      0  

    Default


    I thought a delay on the selection on focus code might do it, but here is already one in place (and a chrome issue reference) in Ext.form.field.Text.beforeFocus()

    Code:
    
    if (me.selectOnFocus || isEmpty) {
    // see: http://code.google.com/p/chromium/issues/detail?id=4505            
    if (Ext.isWebKit) {               
     if (!me.inputFocusTask) {                    
    me.inputFocusTask = new Ext.util.DelayedTask(me.focusInput, me);               
    }                
    me.inputFocusTask.delay(1);           
     } else {               
     inputEl.dom.select();            
    }         
    }
    I played with adjusting this delay but that didn't work.

Thread Participants: 2

Tags for this Thread