ActionScript 3.0 :: Finding Out When A TextField Has Focus And When It Loses Focus?
Jul 13, 2009Does anyone know how to do this in AS3?
View 3 RepliesDoes anyone know how to do this in AS3?
View 3 RepliesCreating a flash project where I need to hit TAB in order for the playhead to go forward a frame. Then I need the user to hit a letter (for example hit 'a') to move forward again. Hitting the above keys is working,
As soon as the user hits TAB, flash seems to lose focus to the browser, and the user has to click on the swf on the screen before they can proceed.
i have this problem. ive made this simple animated menu for a webpage, buttons do stuff on ROLL_OVER, and everything is great, but when menu is scrolled of screen and then goes back it loses focus and ROLL_OVER doesnt work until i click anywhere on my menu gotta finish this quick or they might want their money back
View 3 RepliesI am unable to replicate this issue in Flash - only in a browser window. It appears that if I lose focus of that window for a period of time or scroll down the page where the embedded flash isn't visible, when I scroll back up or return to the window, the event timers appear to play catch-up.The timed "removeChild" commands do not run and leave remnants on the stage. I do not get any errors however, and everything else seems to continue running as normal.
ActionScript Code:
// XML File:
<?xml version="1.0" encoding="utf-8"?>
[code]....
I have done an ovveride of the standard TextInput component In this component I have :
addEventListener( FocusEvent.FOCUS_OUT, handleFocusOut ); My method is trigerred when the field loose focus for another field (nice)Problem : It is trigerred alose when the whole flex application lose focus (when my field has the current focus inside my form)
My Sprite class keeps losing focus when I click with the mouse - specifically after the MOUSE_DOWN event (before the click is complete).
I have set mouseEnabled to false on the children, no change. I added a listener for FOCUS_OUT and noticed that the FocusEvent.relatedObject property is NULL, which is confusing me - doesn't that mean there is no new focus target, the focus is just getting lost?
The exact sequence of events I get, by tracing them, as I click:
[FocusEvent type="focusOut" bubbles=true cancelable=false eventPhase=2 relatedObject=null shiftKey=false keyCode=0]
[MouseEvent type="mouseDown" bubbles=true cancelable=false eventPhase=2 localX=355
[Code]....
I have a custom TextInput that listens for the FocusEvent.FOCUS_IN and FocusEvent.FOCUS_OUT events:
textDisplay.addEventListener(FocusEvent.FOCUS_IN, onFocusInHandler);
textDisplay.addEventListener(FocusEvent.FOCUS_OUT, onFocusOutHandler);
My onFocusInHandler function basically removes a "promptview" that tells the user to type in a value, with the onFocusOutHandler doing the opposite.
For example, if the TextInput text was backspaced to a blank value and the user clicks out of the TextInput box, it would show a "Please enter a value" light-gray prompt in the TextInput.
This works fine until the user clicks our custom "Clear" button. The clear button sets the text to "", and I can tell the FocusEvent.FOCUS_OUT is received because the prompt text is set to visible (its not being set anywhere else). The problem is, the cursor remains in the box as if it still has focus, so if the user immediately starts typing, both the prompt text "Please enter a value" and the user-entered text appears over the gray text, which looks pretty ugly and unreadable.
Why does the TextInput receive the FocusEvent.FOCUS_OUT event if it's not actually losing focus?
I have this SWF that is pulling videos from YouTube through their API. Everything is working nicely until I go to another browser tab or cause the window the SWF is in to lose focus otherwise (largely by using any program aside from the browser). When I return to the tab/window that the browser is playing in, if I have been away for anything over like 20 seconds, the time text that indicates where the play head is plays catchup jumping over 3-5 seconds at a time. While the video is not making these jumps, what is happening is that any buttons for controlling the video become unresponsive until the time text actually has caught up with the current position in the video play head. Thereafter all functioning for my other buttons (play/pause, full screen toggle, and sharing) returns to normal. I am using a Timer that calls every millisecond.
View 1 Replies[Code]...
when i have this line active(the red one) it gives me automatic focus, so no clicking to be able to detect key input so i got that going for me which is nice BUT when i have it active(not commented out) i get this big yellow line which goes away when i click it(seeBelow)
can I set the keyboard focus for a TLFTextField? I tried stage.focus = myTLF but there is no cursor...
View 2 RepliesI have a numerical stepper,and a user can click on a textfield, then click the up and down arrows on the stepper to change the font size,i then try and set the focus back to the textfield and put the caret at the end of the textfield, but the stepper keeps focus anyway.Here is the event handler for when the stepper value is changed.Get the textfield's current format, change the size, set the new format, then focus on the textfield and set the caret position, but the caret just stays inside the stepper.
Code:
private function handleChangeTextSize(e:Event):void
{
var tField:TextField = Main.LAST_FOCUSED_OBJECT;[code]....
I've had problems with other components too with the exact same focus issue and the only solution i've ever come up with is to set a timeout for like 100 milliseconds to set the focus back then and it works. another way to do this without the "hack"?
I have a TextField called textField on the first frame of the main timeline, and this simple code.
Code:
import flash.events.KeyboardEvent;
import flash.events.FocusEvent;
[code]......
I want to focus the textfield with a cursor on it without clicking on the same and without using Ifocusmanager as I have taken the textField.
I have tried stage.focus but it doesn't seem to work the way I want.
Now that setFocus() is gone, how do you tell the player to set focus to a specific input text field. I've searched thru the reference docs and haven't had any luck.
View 9 Repliesi have made a flash movie which is working perfectly. I used the tutorial by GotoAndLearn which you can find here...[URL]... which shows how to make a preloader as a separate swf file and he states that you won't need to worry about the swf file that is loaded by the preloader.
He was correct for everything in my movie except for the
Code:stage.focus = null; code which i use to move the focus away from a textfield once a person has entered text and hit the Enter key. Basically, i just don't want the typing cursor to hang around after the user hits enter.
[Code]...
I had a question regarding the 'passing' of focus. I have a class (more like a component) which contains a TextField.If I give 'focus' to the class, how can I send the focus to the TextField (which is private to the class containing it, like a component).To elaborate, I'm not sure focus occurs on 'just the endpoint' or 'to a branch'.If focus is just given to the endpoint, how does my component disregard having focus and gives the focus to the endpoint?If focus is a given to a branch, what if focus is given (via mouse click) to the text field? I would have an event listener catch the focus event which shares the focus with the parent, but the problem there is once the parent has focus it shares the focus with the child which creates a loop.
View 2 RepliesI'm trying to make Flash automatically focus on an input textfield (not the TextInput component object, but a textfield object with type set to input) when the user enters the page. I want it so they can type straight away without actually having to click inside the textfield. Previously in AS 2.0 you could use Selection.setFocus("textfield_txt"); but in AS3 is it possible?
View 10 RepliesI am new to AS3 and trying to figure out how to set a focus to a textfield on the stage. I found out that if I use stage.focus = tf; then the tf get the focus and it does, when I type letters they go directly to this textfield.Problems are, I don't have a blinking cursor in the textfield. I added event listener to catch up when the user press the ENTER key but it catches the ENTER key ONLY after I click the textfield with the mouse and having a blinking cursor in that textfield.
View 4 RepliesI am trying to programmatically pass focus to a newly created TextField, but for some reason setSelection and setFocus do not work. For example, see my test code below:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="_init()">
<mx:Button click="{tf.setSelection(1,2)}" />[code]....
The only setSelection that does anything is the 0,3 one on MOUSE_DOWN. I assume this all has something to do with the text field receiving focus with the mouse click,
In as2, I have a button that attaches a movieclip with inside some input text fields (a mail form). Now, as the tweening ends for the movieclip to actually appear (I set the _alpha to 0 as he's been created and change the value to 100 with a tween), I call a function for setting the focus on the first input text field:
Code:
function setTheFocus(){
Selection.setFocus(_root.mailtext.namex);
trace(Selection.getFocus())
}
Where 'namex' is the istance name of the input text field. The getFocus trace returns positive, so the focus is there but ... there is no flashing bar within the field. If I write something, the text appears in the right text field and the flashing bar appears. I can't get why there is no flashing bar without typing anything, even if the focus is set.
I can set the focus to a textbox using
ActionScript Code:
Selection.setFocus("inbox");
but is there an additional command to get the flashing cursor to show in the field?
Is there a way to set focus on a textfield in Flash?
Like Javascript's: document.formname.textfield.focus();
What I basically want to do is create a Textfield that takes user input, even if they have clicked somewhere else on the screen.As I understand it, clicking on another object will cause the Textfield to lose focus and no longer take input. Is there a way around this?
View 1 RepliesI got a text-InputField:
var textfield:TextField = new TextField();
textfield.text = "";
textfield.type = TextFieldType.INPUT;
addChild(textfield);
because this textfield don't reside in the main-class, I don't have a stage-reference for doing:
textfield.stage.focus = textfield;
or
stage.focus = textfield
How can I force the textfield to display the blinking line at position zero?
I have an input textfield (input_txt) inside a movieclip (mc), how do i clear the focus (blinking cursor)? I want to place this code on the root timeline.
View 6 RepliesI have a problem with setting focus on a textfield in a child movieclip from my DocumentClass.
I have a function in my DocumentClass that try to set focus on a textfield in a child movieclip:
private function setFocusOnUserName():void
{
this._mc._txUser.stage.focus = this._mc._txUser;
}
But I get that stage is null.
And I get error message:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at com.ro.main::DocumentClass/setFocusOnUserName()
at com.ro.main::DocumentClass()
Is it possible to override the default focus event on the in-built TextField class? So for example when a textfield gains focus a custom event is triggered rather than the default one? I know we can use the onSetFocus event, however we have over 1200 swfs that use TextFields so want to do it on a global scope rather than having to modify each individual swf. that on an Android tablet selecting a TextField brings up the android keyboard that not only shrinks the flash content, but defaults to the alpha keyboard when all we want is numeric (it's a Maths app).
View 1 RepliesHow can I write a function that checks to see if a text box is in focus, and if it is, turn the border color to red... if not, turn it to grey?
View 2 Repliesi have a button that clears the entire TextField but clicking the button makes me lose focus from the TextField. Right now I'm just putting the focus back with stage.focus = textField; as the event occurs.
Is it possible to somehow not lose focus from a TextField when pressing a button?
On my stage I have an MC with a textfield of type input. I have another MC on stage with the control for the input like bold, and italic. When my textfield has focus and I click on one of the control MC buttons it loses focus. I know I can reset focus with stage.focus but wanted to know if there is a better way. Like disable the control MC from taking the focus off the input text. I thought this was not the behavior. I thought that only another input type control can steal focus until now.
View 3 Replies