论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

真正单行TextField

文章类别:Flash | 发表日期:2008-9-21 15:10:07

  单行TextField(文本框)真的单行???
你建立一个TextField(译者注:最好把高度调高一些,这样效果明显),设置属性multiline = false,然后发布。现在你觉得这个TextField只接受单行文本,你按回车键。没有新的行加入,你想通过粘贴显示出新的一行,但是被过滤了。看起来一切正常。

但是,当你的FLASH运行在一个IE窗口里,你输入Ctrl+Enter,会怎么样呢?在我的机器上,一个新行被加入了,这个单行textfield,变成了两行的textfield。(测试环境:Windows2000+IE6+FP8 plugin)(译者注:经测试在使用IE内核的浏览器都有这现象,而Firefox浏览器则没有。)

这个现象非常希奇也非常烦人。但是这里有一个解决办法:在onScroller事件上加一个事件处理函数,当你的单行textfield的scroll属性变化时就意味着有一个新行加入了,然后你就可以找出这个新行然后从你的textfield中删除,代码:

yourTextField.onScroller = function(textField:TextField){
var str:String = textField.text;
                                                                                  //only check it when Ctrl or Enter pressed
if(Key.getCode() == Key.CONTROL || Key.getCode() == Key.ENTER){
  for(var i:Number=0; i<str.length; i++){
   if(str.charCodeAt(i) == 13){                                 //13的ASCII代码对应“回车”
    textField.text = str.substring(0, i) + str.substring(i+1);
    return;
   }
  }
}
}

英文转自:http://iiley.spaces.live.com/blog/
翻译:WiZiM
转载请闻名:http://blog.csdn.net/wizim


论坛讨论:http://space.flash8.net/bbs/thread-305371-1-1.html
视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058