Search Issue Tracker

By Design

Votes

0

Found in

4.6.1f1

Issue ID

658087

Regression

No

[InputField] OnSelect() is not triggered when removing focus with return key and clicking on input field again

uGUI

-

Steps to reproduce this issue:

1. Open the attached project
2. Open 'OnSelectTest' scene
3. It has input fields which trigger OnSelect() when selecting it
4. Play the scene
5. Click on input field
6. Notice that the Debug.Log message is called.
7. Press Return or Enter on your keyboard to remove focus from the InputField
8. Click on the InputField again
9. Notice that NO Debug.Log message was called. This shows that removing focus through a keyboard key press does not allow the Select event to be fired later when expected.

If you remove focus from input field with mouse click then it works as expected

Comments (1)

  1. Reelix

    Sep 03, 2018 18:33

    Here's a hack to fix it.

    theInputField.onEndEdit.AddListener(delegate { IsSelected(false); });

    private void IsSelected(bool isSelected)
    {
    if (isSelected == false)
    {
    EventSystem theSystem = EventSystem.current;
    if (!theSystem.alreadySelecting)
    {
    theSystem.SetSelectedGameObject(null);
    }
    }
    }

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.