用 ActionScript 激活输入文本字段

用户可以通过按设备上的选择键以激活具有小键盘焦点的输入文本字段。当某个输入文本字段接收焦点时,Flash Lite 应用程序还可以自动使用 activateTextField 命令激活该输入文本字段。此命令激活当前所选的文本字段;如果在执行此命令时未选择字段,则什么也不会发生。

用于调用 activateTextField 的最常见的位置是在 Selection.onSetFocus 处理函数或 TextField.onSetFocus 处理函数内部。例如,假设您的应用程序在舞台上包含两个(或更多个)输入文本字段。以下代码会自动激活接收焦点的文本字段:

var focusListener:Object = new Object ();
focusListener.onSetFocus = function (oldFocus, newFocus) {
    // 调用 activateTextField:
    fscommand ("activateTextField", "");
};
TextField1.addListener (focusListener);

也可以使用 TextField.prototype.onSetFocus 处理函数来激活所有文本字段,即每当它们接收焦点时予以激活。

还可以使用设备上的选择键以外的键来触发 activateTextfield 命令。以下代码可以激活接收所有数字键的文本字段,从而更易于输入字母(例如 "a")。例如,如果应用程序在 TextField.onSetFocus 处理函数中包括 activateTextfield,则用户将必须先按选择键,然后再按 2;下面的代码允许用户按两次 2,从而使操作更加直观。

var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
    if (Key.getCode() >= 48 && Key.getCode() <= 57 ){
        fscommand("activateTextField", "");
    }
Selection.addListener (keyListener);
};

有关采用此方法的完整范例应用程序,请参阅嵌入式文本输入示例,网址为 www.adobe.com/go/learn_flt_samples_and_tutorials_cn。找到与您的 ActionScript 版本相对应的 .zip 文件,下载并解压缩该 .zip 文件,然后导航到 Samples 文件夹即可访问该示例。