Apache flex Flex RichTextEditor-放弃Ctrl+;Y
我在AIR桌面应用程序中使用RichTextEditor,它是用flex 3.6构建的 因为没有撤销/重做管理,所以我尝试扩展组件功能 我有一个函数,每次按下CTRL+Y时我都会遇到问题 这就是我按下一个键时实际做的事情Apache flex Flex RichTextEditor-放弃Ctrl+;Y,apache-flex,air,keydown,rich-text-editor,undo-redo,Apache Flex,Air,Keydown,Rich Text Editor,Undo Redo,我在AIR桌面应用程序中使用RichTextEditor,它是用flex 3.6构建的 因为没有撤销/重做管理,所以我尝试扩展组件功能 我有一个函数,每次按下CTRL+Y时我都会遇到问题 这就是我按下一个键时实际做的事情 <mx:RichTextEditor id="myRTE" keyDown="onKeyDown(event);" /> .... public function onKeyDown(event:KeyboardEvent):void {
<mx:RichTextEditor
id="myRTE"
keyDown="onKeyDown(event);"
/>
....
public function onKeyDown(event:KeyboardEvent):void
{
if (event.ctrlKey && event.charCode == 122)
{
// ctrl + z pressed!
undo();
}
if (event.ctrlKey && event.charCode == 121)
{
// ctrl + y pressed!
redo();
}
}
....
公用函数onKeyDown(事件:KeyboardEvent):无效
{
if(event.ctrlKey&&event.charCode==122)
{
//按下ctrl+z键!
撤消();
}
if(event.ctrlKey&&event.charCode==121)
{
//按下ctrl+y组合键!
重做();
}
}
我的问题是,在我的RichTextEditor中,CTRL+Y输出也是一个奇怪的字符,但我想放弃它
我试着放一个事件。停止即时传播();就在重做之后();但是奇怪的字符被附加到我的RichTextEditor中
我真的不知道如何摆脱它
有什么想法吗?您可以使用以下代码:
protected function application1_creationCompleteHandler(event:FlexEvent):void {
myRTE.textArea.addEventListener(TextEvent.TEXT_INPUT, textInput);
}
private function textInput(event:TextEvent):void {
// <CTRL+V pressed
if (event.text.length > 1)
event.preventDefault();
}
受保护函数应用程序1\u creationCompleteHandler(事件:FlexEvent):无效{
myRTE.textArea.addEventListener(TextEvent.TEXT\u输入,textInput);
}
私有函数textInput(事件:TextEvent):无效{
// 1)
event.preventDefault();
}
RichTextEditor封装并使用TextArea。您可以为TextEvent.TEXT\u输入添加事件以防止CTRL+V事件 您可以使用以下代码:
protected function application1_creationCompleteHandler(event:FlexEvent):void {
myRTE.textArea.addEventListener(TextEvent.TEXT_INPUT, textInput);
}
private function textInput(event:TextEvent):void {
// <CTRL+V pressed
if (event.text.length > 1)
event.preventDefault();
}
受保护函数应用程序1\u creationCompleteHandler(事件:FlexEvent):无效{
myRTE.textArea.addEventListener(TextEvent.TEXT\u输入,textInput);
}
私有函数textInput(事件:TextEvent):无效{
// 1)
event.preventDefault();
}
RichTextEditor封装并使用TextArea。您可以为TextEvent.TEXT\u输入添加事件以防止CTRL+V事件 非常感谢你,伊万!我刚刚在redo()之后添加了event.preventDefault();。这足以满足我的需要!非常感谢你,伊万!我刚刚在redo()之后添加了event.preventDefault();。这足以满足我的需要!