我正在尝试处理 TextField 上的焦点事件,以便在焦点(选项卡或单击)时可以选择所有文本。好像我在这里做错了什么?
txtTextField.addEventListener(FocusEvent.FOCUS_IN, handleFocusIn);
function handleFocusIn() {
//select all text here
}
最佳答案
我需要同样的东西,当它获得焦点时选择文本字段的内容。
我试过:
A) 在 FocusEvent 之后简单地选择。这似乎不起作用(我的猜测是 FocusEvents 在处理鼠标单击之前被触发,这反过来将撤消选择)。
B) 每次点击鼠标时选择。这可行,但对于稍后只想选择文本的一部分的用户来说这非常烦人,因为这种尝试总是会导致 - 所有 - 内容都被选中。
以下解决方法似乎可行:
myTextField.addEventListener(MouseEvent.CLICK, selectAllOnce);
function selectAllOnce(e:MouseEvent) {
e.target.removeEventListener(MouseEvent.CLICK, selectAllOnce);
e.target.addEventListener(FocusEvent.FOCUS_OUT, addSelectListener);
selectAll(e);
}
function addSelectListener(e:FocusEvent) {
e.target.addEventListener(MouseEvent.CLICK, selectAllOnce);
e.target.removeEventListener(FocusEvent.FOCUS_OUT, addSelectListener);
}
function selectAll(e:Event) {
e.target.setSelection(0, e.target.getLineLength(0));
}
希望对您有所帮助。我个人认为,如果 adobe 只是为此为 TextField 对象添加一个选项,那将是最合乎逻辑的。
关于actionscript-3 - AS3 : TextField Focus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1109220/