AS3:文本字段焦点

2024-01-11

我正在尝试处理 TextField 上的焦点事件,以便在聚焦(选项卡或单击)时可以选择所有文本。看来我在这里做错了什么?

txtTextField.addEventListener(FocusEvent.FOCUS_IN, handleFocusIn);
function handleFocusIn() {
 //select all text here
}

我需要同样的东西,在文本字段接收焦点时选择它的内容。

I tried:

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 对象添加一个选项,那将是最合乎逻辑的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AS3:文本字段焦点 的相关文章

随机推荐