解决模式窗口(showModalDialog)下无法复制文本的问题

红色字体为本人所加。

1:更改方式,用window.open实现 
2:纯文字的话可以用无边框的只读的textarea文本框代替[即TextBox设置为ReadOnly,但是不能Disabled,这样可以保证使用鼠标右键菜单]
3:
修改前:
<html>
<body>
拉选这段文字,并复制
</body>
</html>
修改后:
<html>
<body>
<span id="Lab1">拉选这段文字,并复制</span>
<script>
 document.all["Lab1"].contentEditable = "True";
</script>
</body>
</html>
contentEditable=true是让内容变为设计模式,这要不仅可以拷贝,还可以修改,默认值为"inherit"。在一些自定义功能强的地方有应用。如果让整个body的contentEditable变为true,则里面的东西就可以乱拉了,对应用也不好。
contentEditable详细的介绍见:http://www.cnblogs.com/zxlin25/archive/2009/03/30/1425171.html 

 

4.用div模拟。也就是用灰色div遮住背景

 

补充:

我想到另外一种方法, 就是给要复制文字的控件,比如label, 添加双击事件, 利用JavaScript脚本, 双击就获取当前控件的值到剪贴板上.

优缺点:

第1种:不是解决办法。有时候必须使用模式窗口。

第2种:一个页面个别数据项还好,如果是多个的话,就很麻烦了。

第3种:很方便,但是要防止原数据被修改。

第4种:见过这种控件,UI看起来很炫。我能想到的就是,父窗口有一个Div,div里面有一个iframe,通过点击,将div置于最顶层,并用灰色div遮住背景,修改div里面的iframe的src地址为要打开的链接地址。如果要污染原生的window.open之类的方法,我猜测需要将target设置为iframe。具体没有实现过。



本文系浏览时候觉得不错,超出来共享给大家的,原文链接:http://www.cnblogs.com/GuominQiu/articles/1864895.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值