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
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
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- ArgumentOutOfRangeException when manipulating the Project Settings search bar
- [Linux] Touch freezes in Player when any mouse button is clicked
- UnityEngine.Rendering.Volume.OnEnable() is called twice before OnDisable() creating multiple copies of the same volume when a volume is enabled right after Domain Reload when entering Play Mode
- Hinge Joint transforms are reset when toggling the "useMotor" property
- Motion Vector texture reports incorrect Mesh data when Mesh is coming from off-screen
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);
}
}
}