Flex 文本控件实现自定义复制粘贴
由于添加了自定义右键菜单,导致Textinput控件默认的右键复制粘贴功能被屏蔽了。最后通过JS脚本实现这个功能,参考代码如下
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init()">
<s:layout>
<s:VerticalLayout/>
</s:layout>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<fx:XML id="jsxml" >
<script>
<![CDATA[ function clipboardOperator(type,browsername,txt){
if(type!="init"){
if(type=="copy"){
window.clipboardData.setData("Text", txt);
return;
}
else if(type=="paste"){
var clipboard=window.clipboardData.getData("Text");
if(clipboard == null){
alert('您的剪切板中没有任何文本内容');
return ;
}
else
return clipboard;
}
}
}
]]>
</script>
</fx:XML>
</fx:Declarations>
<fx:Script>
<![CDATA[
import Class.URLUtil; import flash.external.ExternalInterface; import flash.desktop.Clipboard;
import flash.desktop.ClipboardFormats;
import mx.controls.Alert; private var browsername:String=URLUtil.getBrowserName(); private function init():void{ lbpaste.text=ExternalInterface.call(jsxml, "init");
} protected function btncopy_clickHandler(event:MouseEvent):void
{
//内部复制功能
Clipboard.generalClipboard.clear();
Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT,txt.text,false);
//调用JS脚本实现复制
// ExternalInterface.call("copypasteOperator","copy", txt.text);
} protected function btnpaste_clickHandler(event:MouseEvent):void
{
lbpaste.text=ExternalInterface.call("clipboardOperator","paste",browsername);
}
]]>
</fx:Script>
<s:TextInput id="txt" text="aaa"/>
<s:Button id="btncopy" label="复制" click="btncopy_clickHandler(event)"/>
<s:Button id="btnpaste" label="粘贴" click="btnpaste_clickHandler(event)"/>
<s:Label id="lbpaste"/>
</s:Application>
注:目前只支持IE和搜狗浏览器
Flex 文本控件实现自定义复制粘贴的更多相关文章
- Android自定义控件:自适应大小的文本控件
需求 自适应大小的文本: 效果图: 项目开发中,开发人员根据UI人员提供的一套尺寸,布局了一些带文本的页面, 往往会少考虑一些数据极限的问题,造成机型屏幕适配问题. 例如: 文本(或数值)长度可变,如 ...
- 解决方案:带格式化文本控件( RichText)的模板如果在InfoPath的浏览器中加载可能出现 COM 组件的80040154错误
建议大家在微软的组件出现问题时,在GOOGLE上搜索解决方案,一般来说,总有结果: 带格式化文本控件( RichText)的模板如果在InfoPath的浏览器中加载,可能出现 COM 组件的80 ...
- WCF学习(二)对控件简单了解以及4个文本控件的简介
WPF基础控件 系统默认提供的基础控件: 文本控件介绍与用法 Label控件 label控件:一般用户描述性文字显示. 在Label控件使用时,一般给予用户提示.用法上没有什么很特殊的,label控件 ...
- 重新想象 Windows 8 Store Apps (1) - 控件之文本控件: TextBlock, TextBox, PasswordBox, RichEditBox, RichTextBlock, RichTextBlockOverflow
原文:重新想象 Windows 8 Store Apps (1) - 控件之文本控件: TextBlock, TextBox, PasswordBox, RichEditBox, RichTextBl ...
- wxPython中按钮、文本控件的简单运用
本节学习图形用户界面 ------------------------ 本节介绍如何创建python程序的图形用户界面(GUI),也就是那些带有按钮和文本框的窗口.这里介绍wxPython : 下载地 ...
- Android开发:文本控件详解——TextView(一)基本属性
一.简单实例: 新建的Android项目初始自带的Hello World!其实就是一个TextView. 在activity_main.xml中可以新建TextView,从左侧组件里拖拽到右侧预览界面 ...
- WPF 语言格式化文本控件
前言 本章讲述正确添加语言资源的方式,以及一段语言资源的多种样式显示. 例如:“@Winter,你好!感谢已使用软件 800 天!” 在添加如上多语言资源项时,“XX,你好!感谢已使用软件 X 天!” ...
- vue单位文本控件与vue加密文本控件
vue单位文本控件: 使用方式: npm install dami-text-input --save 使用: <text-input v-model="test" :uni ...
- SNF快速开发平台MVC-富文本控件集成了百度开源项目editor
一.效果如下: 二.在框架当中调用代码如下: 1.在js里配置如下: <script type="text/javascript"> var viewModel =fu ...
随机推荐
- JavaScript显示当前时间的代码
方法一: <script type="text/javascript"> function startTime() { //获取当前系统日期 var today=new ...
- 浏览器中Javascript的加载和执行
在刚学习Javascript时曾对该问题在小组内做个一次StudyReport,发现其中的基础还是值得分析的. 从标题分析,可以加个Javascript的加载和执行分为两个阶段:加载.执行.而加载即浏 ...
- C#对泛型List<T>系列化与反系列化
练习一个小例子,在C#中,怎样对泛型List<T>数据集进行系列化与反系列化.我们先了解msdn提供的JavaScriptSerializer类: JavaScriptSerializer ...
- 关于Action快捷键和小键盘的问题
在使用全尺寸键盘的时候 键盘右边都有一排小键盘 但是这个小键盘的数字键值和普通键盘的数字键值是不一样的 在ANSI码里 标准数字键值是$30..$39, 而小键盘的键值是$60..$69 这样问题就来 ...
- 基于TCP/IP的长连接和短连接
1. TCP连接 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次 ...
- Json 、 Jsonp
SONP is simply a hack to allow web apps to retrieve data across domains. It could be said that it vi ...
- linux下对date和timestamp的互转
1. date 到 timestamp: $ date -d '2009-12-01 23:20' +%s 12596808002. timestamp 到 date$ date -d '1970-0 ...
- 改变UIButton 图片和文字的位置
//设置字体和图片之间的间距 _btnLeft.titleEdgeInsets = UIEdgeInsetsMake(0, -_btnLeft.imageView.frame.size.width, ...
- Wex5页面事件执行顺序
wex5 事件执行顺序data组件的onCustomRefresh→ model组件的onLoad→ windowReceiver组件的onReceive
- DuiLib学习bug整理——某些png不能显示
今天下午遇到用ps导出的png显示不出来的情况.而从其他来源的png有的可以显示.到群里问了下也有人遇到过,但是都没想明白具体原因.后来经人指点说png保存时存在深度位不同.最后经过测试 8位深度.3 ...