AS2中的(keyPress“<enter>”)不起作用</enter>

时间:2013-02-04 22:52:25

标签: keyboard actionscript-2 enter onkeypress

我正在制作一部带有搜索框和搜索按钮的flash电影。该按钮具有以下代码:

on (release, keyPress "<Enter>") {
    searchbox.execute();     
    /*the function above processes searches*/
}

点击按钮就可以了。按Enter键不会做豆!有谁知道这是为什么,以及我可以解决它的任何方法?如果我可以完全避免使用,我宁愿不使用听众。

1 个答案:

答案 0 :(得分:4)

使用on()是一种弃用的AS1练习,所以也许你应该停止使用它。由于MovieClip类的onKeyDown事件处理程序,可以使用正确的代码在没有侦听器的情况下执行此操作,因此您不必担心它们。 ;)

无论如何,关于代码。在包含按钮的时间轴中输入此内容:

//Enable focus for and set focus to your button
searchButton.focusEnabled = true;
Selection.setFocus(searchButton);

//The onRelease handler for the button
searchButton.onRelease = function(){
    //You need this._parent this code belongs to the button
    this._parent.searchbox.execute();
}

//The onKeyDown handler for the button
searchButton.onKeyDown = function(){
    //Key.getCode() returns the key code of the last key press
    //Key.ENTER is a constant equal to the key code of the enter key
    if(Key.getCode() == Key.ENTER){
        this._parent.searchbox.execute();
    }
}