两个解决flash程序中使用快捷键与文本输入冲突的办法


  来源: | 作者: | 浏览: | 发送给好友 | 添加到收藏夹
 在flash程序中使用快捷键,就可能会和文本输入引起冲突,主要是用单个字母或者shift+字母键作为快捷键时的冲突,比如当设置字母a为一个功能的快捷方法,但是当你进行文本输入的时候如果输入a就会同时引发事件,当然这不是我们所希望的,下面的两种方法来避免这种情况的出现:

方法一:
keylis = new Object(); 
Key.addListener(keylis); 

keylis.onKeyDown = function() { 
 var pathArr = Selection.getFocus().split("."); 
 var foucs = _root; 
 for (var i = 1; i<pathArr.length; i++) { 
  foucs = foucs[pathArr[i]]; 
 } 
 if (foucs instanceof TextField && fouse.type == "input") { 
  trace(foucs); 
  return; 
 } 
  
 if(Key.isDown(65)) 
 { 
  //run... 
 } 
方法二:
//这种方法比较简单,但不能判断焦点文本的类型为输入类型 
if(Selection.getCaretIndex() >=0) 

 return; 
上一篇
闪动论坛 打印此页 发送给好友 返回顶部