`
stonejava
  • 浏览: 78191 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

TextArea内按Enter发送消息并清空内容 换行

 
阅读更多
//下面三个变量用来保存KEY_DOWN事件时键盘的状态
var shiftKey:Boolean;
var ctrlKey:Boolean;
var keyCode:int;
var messageInput:TextArea;
messageInput.addEventListener(KeyboardEvent.KEY_DOWN,onKeyDown);
messageInput.addEventListener(TextEvent.TEXT_INPUT,onTextInput);
private function onKeyDown(e:KeyboardEvent):void{
//如果按下Enter时还按下Shift/Ctrl,则换行
if( e.keyCode==Keyboard.ENTER && (e.shiftKey || e.ctrlKey) ){
callLater(function():void{ //注意这个callLater
var msg:String = messageInput.text;
var part1:String = msg.substring(0, messageInput.selectionBeginIndex);
var part2:String = msg.substring(messageInput.selectionEndIndex, 0x7fffffff);
var selIndex:int = messageInput.selectionBeginIndex + 1;
messageInput.text = part1 + "\n" + part2;
messageInput.setSelection(selIndex,selIndex);
});
keyCode = -1; //标识本次按键不需要TEXT_INPUT事件配合处理
return;
}
shiftKey = e.shiftKey;
ctrlKey = e.ctrlKey;
keyCode = e.keyCode;
}
private function onTextInput(evt:TextEvent):void{
if(keyCode == -1){
return;
}
if(keyCode==Keyboard.ENTER && !shiftKey && !ctrlKey){
evt.preventDefault();
callLater(function():void{
//sendMessage()即为发送消息的方法,它应该返回一个Boolean值,以此来决定是否清空消息框
if( sendMessage(messageInput.text) ){
messageInput.text = "";
messageInput.htmlText = "";
messageInput.setSelection(0,0);
}
});
}
}
分享到:
评论

相关推荐

    关于Textarea的换行问题

    如果`menuitem19`被选中,即用户可能通过某种界面操作选择了特定的换行模式或界面布局,那么程序将使用`text1`作为当前的TextArea,并更新其文本内容。接着,移除之前存在的TextArea(在本例中为`text2`),并将`...

    HTML里面Textarea换行问题总结

    问题解决1: 一开始是提交数据的时候格式是AAA<BR>BBB,但是这是显示换行,其实在TextArea里面并不是真正按行存放的,因为这个时候再提交给另外一个TextArea的时候就是显示AAABBB,而不是换行显示了,因此仅仅是显示...

    处理textarea换行空格

    1. **换行符的处理**:在提交`textarea`的内容到服务器时,你可能会遇到需要将`\n`转换为数据库支持的换行格式,如`\r\n`(在Windows系统中)。这可以通过JavaScript的字符串替换函数`replace()`实现,如下所示: `...

    js 特效 html 特效 textarea是否自动换行

    js 特效 html 特效 textarea是否自动换行

    java swt中TextArea的自动换行代码

    用java swing的JTextArea很容易实现自动换行,但用Textarea却很难实现换行,所以发到网上供大家参考,大家一起学习学习!!!

    关于textarea提交的内容无法换行的解决办法

    然而,一个常见的问题是在用户提交 `textarea` 内容时,原始输入的换行符(通常是 `\n`)在显示到页面上时并不会被浏览器识别为换行,导致所有文本显示在同一行。为了解决这个问题,我们需要在数据提交前将这些换行...

    javascript经典特效---textarea是否自动换行.rar

    textarea是否自动换行.rartextarea是否自动换行.rartextarea是否自动换行.rartextarea是否自动换行.rartextarea是否自动换行.rartextarea是否自动换行.rar

    JTable自动换行

    标题“JTable自动换行”正是指向这个功能,即如何在`JTable`的单元格内实现文本的自动换行。 默认情况下,`JTable`的单元格使用`DefaultTableCellRenderer`,它不支持文本的自动换行。为了实现自动换行,我们需要...

    如何在textarea文本输入区内实现换行

    但请注意,当你在`<textarea>`内直接输入` `时,浏览器会将其视为文本内容,而不会解析为换行。所以,如果你直接在`<textarea>`内输入` `,它将会被显示为文本字符串` `,而不是实际的换行。 2. **特殊...

    展示Html : 文本转HTML格式 解决Textarea换行问题

    虽然没有提供具体的描述内容,但我们可以推测这篇文章可能详细解释了如何处理textarea中的换行问题,以及可能涉及的编程技巧或工具。 标签包括“源码”和“工具”,这表明解决方案可能涉及到代码示例或使用特定的...

    textarea换行符

    当用户在`textarea`中按下回车键时,浏览器会将其识别为换行符(`\r\n`),这在JavaScript读取`textarea`的值时也会体现出来。然而,在后续的数据处理过程中,例如在业务逻辑层将这些值转换成字符串形式并存储到...

    textarea

    如果设置了`wrap="soft"`,则`textarea`中的文本将会软换行,即当文本超出容器宽度时会自动换行到下一行,但这种换行并不会作为真正的换行符保存在提交的数据中。 ```html <textarea wrap="soft" style="width: 200...

    PHP获取表单textarea数据中的换行问题

    然而,在Web开发中,换行的表示方法并不是统一的,这主要是因为不同的操作系统使用不同的字符来表示换行。因此,处理textarea中的换行问题,是Web开发者需要关注的一个重要问题。 在Windows操作系统中,换行通常由...

    处理textarea中的换行和空格

    当用户在 `textarea` 中输入并使用 JavaScript 提交文本时,空格和换行会被编码为 `/s` 和 `/n` 字符。在前端与后端交互时,处理这些特殊字符是确保文本正确显示的关键。 如果文本最终仍要在 `textarea` 中显示,...

    jsp实现textarea中的文字保存换行空格存到数据库的方法

    从所提供的文件内容来看,讨论的主题是如何在使用Java Server Pages (JSP) 技术时,将文本区域(textarea)中的文字内容(包括换行和空格)保存到数据库中。在Web开发过程中,这是常见的需求,尤其是在构建内容管理...

    php获取textarea的值并处理回车换行的方法

    在网页开发中,用户在`textarea`输入框中按下回车键时,浏览器并不会自动将回车转换为换行符,而是将它们保存为特定的字符序列,通常是`\r\n`(回车换行)。在PHP中,我们需要手动处理这些特殊字符以便正确地显示和...

    textarea是否自动换行

    当用户在textarea中输入内容时,如果文本长度超过了当前列宽,浏览器会自动进行换行,确保文本在textarea内正常显示。 然而,`<textarea>`的换行行为受到其`cols`和`rows`属性的影响。`cols`定义了textarea的列数,...

    textarea焦点的用法实现获取焦点清空失去焦点提示效果

    这两个函数的作用是,当 `textarea` 获得焦点时,清空当前内容并改变文本颜色为黑色;失去焦点时,检查文本是否为空,如果为空则恢复默认提示信息(“最多能输入50个字”)并使用灰色显示。 此外,示例中还提到一种...

Global site tag (gtag.js) - Google Analytics