如何解决setFocus光标停留的问题 |
| 作者:佚名 来源:闪吧 作者: Super-Tomato 更新:2007-1-13 20:49:45 错误报告 我要投稿 |
最近很多人都一直问我, 为何Flash中所提到的Selection.setFocus不能使用呢?? 我也看了他们的代码之后发觉, 不能使用的原因都是出在一开始定义光标停留在文本上的问题... 所以测试了一下... 发觉到这和之前我制作游戏时, 也不能够一开始就使用键盘来控制, 必须点了swf一下才可以使用键盘控制... 主要这类原因是在html当中, 焦点不能设定在swf, 而解决这个的唯一方法就是使用javascript, 那么大家就注意看我以下所增加红色代码的部分
<html> <head> <title>setFocus</title> </head> <body bgcolor="#ffffff" onLoad="form.focus()"> //让html载入的时候焦点定在swf的标签上 <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="550" height="400" id="form" align="middle"> <param name="allowScriptAccess" value="sameDomain" /> <param name="movie" value="form.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#ffffff" /> <embed src="form.swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="form" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> </object> </body> </html> 大家看到了吗?? 在发布后的html代码当中, embed标签当中会有个 name="form" 而我们就取得这个属性名字, 然后在<body>标签设定onLoad事件, 让他的焦点(Focus)定在相同属性名字的部分, 这样就解决了吧 :) 相同的制作游戏的时候也是这样做, 不然在Flash一开始使用键盘控制人物走动的时候, swf是无法监听到任何键盘讯息的....
点击浏览该文件
|
|
| 文章录入:skyuu 责任编辑:skyuu |
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |