1

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

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

单击按钮工作得很好。按 Enter 不会做 bean!有谁知道这是为什么,以及我可以解决的任何方法?如果可以完全避免的话,我宁愿不使用监听器。

4

1 回答 1

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();
    }
}
于 2013-02-07T14:23:56.543 回答