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

红色字体为本人所加。

1:更改方式,用window.open实现 
2:纯文字的话可以用无边框的只读的textarea文本框代替[即TextBox设置为ReadOnly,但是不能Disabled,这样可以保证使用鼠标右键菜单]
3:
修改前:


拉选这段文字,并复制


修改后:


拉选这段文字,并复制



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

你可能感兴趣的:(模式窗口)