我正在制作一个带有搜索框和搜索按钮的 Flash 电影。该按钮具有以下代码:
on (release, keyPress "<Enter>") {
searchbox.execute();
/*the function above processes searches*/
}
单击按钮工作得很好。按 Enter 不会做 bean!有谁知道这是为什么,以及我可以解决的任何方法?如果可以完全避免的话,我宁愿不使用监听器。
我正在制作一个带有搜索框和搜索按钮的 Flash 电影。该按钮具有以下代码:
on (release, keyPress "<Enter>") {
searchbox.execute();
/*the function above processes searches*/
}
单击按钮工作得很好。按 Enter 不会做 bean!有谁知道这是为什么,以及我可以解决的任何方法?如果可以完全避免的话,我宁愿不使用监听器。
使用 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();
}
}