我正在尝试在我的应用程序中实现查找功能,为此我正在尝试根据 F3 或 CTRL + F 等键盘输入打开查找弹出窗口。但是在 F3 上,它不会转到事件监听器,而是打开相反,Internet Explorer 的默认查找工具栏。有什么线索吗?我如何绕过它并在我的应用程序中使用 f3?
另一件事是如何在 Flex 中捕获 CTRL + F?
private function keyPressed(evt:KeyboardEvent):void
{
if (evt.keyCode == Keyboard.F3)
{
//open popup
} else {
//do something elese
}
}
谢谢。
最佳答案
用于检测 CTRL + F:
event.ctrlKey == true && event.keyCode == Keyboard.F
其中“事件”当然是 KeyBoardEvent。
至于F3问题:只要Flash应用程序具有焦点,您编写的代码就可以工作。 F3 键命令也不会被路由到浏览器。因此,您需要做的是确保当用户按 F3 时您的应用程序获得焦点。如何解决这个问题取决于您的 JavaScript 实现。 您可以使用ExternalInterface 告诉浏览器应用程序已准备就绪,然后将注意力集中在应用程序上。或者在 Javascript 中,您可以捕获键盘事件,阻止其默认行为,然后调用 Flash 应用程序上的函数(再次通过ExternalInterface)。
为了帮助您入门,这里有一个用于防止默认 F3 行为的 JQuery 片段:
$('body').keyup(function(event) {
if (event.keyCode == '114') event.preventDefault();
}
关于actionscript-3 - 如何在flex中检测CTRL + C输入和F3键输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6651287/