我正在使用Flash AS2(没有其他选择)来获取用户键入的字母。

似乎在Google Chrome浏览器中,我得到的Ascii代码与平时不同。

我正在测试激活“大写锁定”后键入“ P”。 我正在跟踪Key.getCode()和Key.getAscii()返回的内容。

在Firefox或IE甚至独立播放器中:

  • 大写锁定=> Key.getCode():80; Key.getAscii():80
  • 大写锁定=> Key.getCode():80; Key.getAscii():112

在Chrome中,似乎大写锁定始终处于关闭状态:

  • 大写锁定=> Key.getCode():80; Key.getAscii():112
  • 大写锁定=> Key.getCode():80; Key.getAscii():112

结果,我无法在Chrome上启用或禁用Caps Lock ...

有人看过这个问题吗?


编辑:补充测试:

请注意,测试是使用法语AZERTY键盘进行的

谷歌浏览器

1个

  • 垫=> Key.getCode()= 97-> a; Key.getAscii()= 49-> 1
  • 正常=> Key.getCode()= 49-> 1; Key.getAscii()= 49-> 1
  • shift => Key.getCode()= 49-> 1; Key.getAscii()= 33->!
  • caps => Key.getCode()= 49-> 1; Key.getAscii()= 49-> 1

一种

  • 正常=> Key.getCode()= 65-> A; Key.getAscii()= 97-> a
  • shift => Key.getCode()= 65-> A; Key.getAscii()= 65-> A
  • caps => Key.getCode()= 65-> A; Key.getAscii()= 97-> a

其他

1个

  • 垫=> Key.getCode()= 97-> a; Key.getAscii()= 49-> 1
  • 正常=> Key.getCode()= 49-> 1; Key.getAscii()= 38->&
  • shift => Key.getCode()= 49-> 1; Key.getAscii()= 38->&
  • caps => Key.getCode()= 49-> 1; Key.getAscii()= 38->&

一种

  • 正常=> Key.getCode()= 65-> A; Key.getAscii()= 97-> a
  • shift => Key.getCode()= 65-> A; Key.getAscii()= 65-> A
  • caps => Key.getCode()= 65-> A; Key.getAscii()= 65-> A

===============>>#1 票数:0

尝试根据Caps Lock键是否为isToggled()编写代码。

您可以在任何大写字母上加上32以获取其小写字母匹配(或使用String.toLowerCase() ),并且可以从任何小写字母中减去32以获取大写字母匹配(或使用String.toUpperCase() )。

//this code would change a whole string, but you can 
//do it with individually entered characters
if(Key.isToggled(Key.CAPSLOCK)){
    String.fromCharCode(Key.getCode()-32);
}else{
    String.fromCharCode(Key.getCode());
}

  ask by Emilien Schneider translate from so

未解决问题?本站智能推荐:

1回复

AS2中的Google Maps

我有一个Flash网站。 它的代码为AS2,我想将Google地图导入到我的网站中。 我怎样才能做到这一点。 我很好地创建了Google Maps Javascript API。 接下来是什么? 有更短的方法还是其他方法?
1回复

as2中的url函数

这不是ActionScript 2.0的大功能,但足以让我怀疑发生了什么问题。 当我在原始swf文件中单击按钮时,此代码完美工作,但是当我将其发布为html或将其嵌入html文档时,没有任何响应。 该怎么办?
1回复

as2的{release} {getURL()}可以支持chrome浏览器吗?

我已经使用as2开发了.fla文件,但是on(release)嵌入后在chrome浏览器中不起作用。 代码看起来像这样: 在嵌入.fla之后可以支持chrome浏览器的ActionScript 02中,有什么替代方案?
1回复

AS2从数组中隐藏对象

有关动作脚本2的问题。我有两个数组-一个数组用于按钮,另一个数组用于由按钮触发的影片剪辑: 因此,我通过相应的按钮触发了影片剪辑-任何可见的影片剪辑都是可见的,并播放其时间轴。 但是,任何被称为影片剪辑的影片始终保持可见状态。 我希望数组中的所有影片剪辑不可见,除了相应按钮调用
1回复

比较as2中的日期对象

我肯定错过了什么。 然而, 发生什么了? 显然,这两个日期对象都弄好了微妙的不同,而这种差距时,他们分析出的字符串在某种程度上被忽视,但他们如何不同?
2回复

如何在AS2中删除位图

我在Flash Actionscript 2项目中使用attachBitmap在movieclip中添加了位图。 现在,我无法删除曾经创建的位图。 如果有人可以告诉我该怎么做。 谢谢伊姆兰
1回复

as2中是否有类似URLStream的方法?

我需要不断地从服务器接收数据到Flash客户端,并且可以在as3中使用以下代码: 不幸的是,我的项目是用as2编写的,可以在flash as2中完成这项工作吗?
1回复

as2:在动画片段中停止动画片段

我有一个名为“ main”的动画片段,其中所有层和补间都位于这些层中的另一个movieClip中,我还有另一个movieClip,当第二个动画片段播放3次后,我希望停止播放。 movieClips:主>蹦床> boyBounce 我必须编写代码来停止第二个“主” MC,但
2回复

AS2计算中eval()的最佳替代

我有一个简单的计算器脚本,必须替换var a = eval(tmp); 与某些有效的方法。 例如, var tmp可以用4+5填充。 在普通JS中,这应该可以工作并输出9 ,但在AS2中则不会。 trace(a)输出undefined 。 我应该进行哪些更改才能使其正常工作。 是否有
1回复

从AS2中动态创建的textinput传递变量?

我的Flash文件中有一个联系表,其中包含用户可以填写的名称/电子邮件/消息字段,然后单击“发送”,这会将这些传递给php脚本,然后通过电子邮件将他们输入的信息通过电子邮件发送出去。 当将文本输入手动放置在舞台上并将所有信息传递到php脚本并通过电子邮件发送给我时,此方法效果很好。 我只是对