Yen*_*ens 2 focus actionscript-3 textfield
我正在尝试在TextField上处理焦点事件,因此我可以在聚焦时选择所有文本(制表符或单击).好像我在这里做错了什么?
txtTextField.addEventListener(FocusEvent.FOCUS_IN, handleFocusIn);
function handleFocusIn() {
//select all text here
}
Run Code Online (Sandbox Code Playgroud)
我需要相同的东西,当它获得焦点时选择文本字段的内容.
我试过了:
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));
}
Run Code Online (Sandbox Code Playgroud)
希望有所帮助.我个人认为,如果adobe只是为TextField对象添加了一个选项,那将是最符合逻辑的.
| 归档时间: |
|
| 查看次数: |
30383 次 |
| 最近记录: |