我正在制作一部带有搜索框和搜索按钮的flash电影。该按钮具有以下代码:
on (release, keyPress "<Enter>") {
searchbox.execute();
/*the function above processes searches*/
}
点击按钮就可以了。按Enter键不会做豆!有谁知道这是为什么,以及我可以解决它的任何方法?如果我可以完全避免使用,我宁愿不使用听众。
答案 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();
}
}