我正在尝试处理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对象添加一个选项,那将是最合逻辑的。