
点击一个链接地址或按钮,就可以将文字内容复制到剪贴板,以便于我们进行贴到 *** 作。下面分享的这个js点击复制文字内容仅支持IE浏览器,还不能兼容所有的浏览器,不过在遇到不兼容的浏览器时会提示浏览器不支持复制,用户可以按提示进行手动复制。
js点击复制内容到剪贴板程序代码如下:
<script type="text/javascript">
function copyText(obj){
try{
var rng = documentbodycreateTextRange();
rngmoveToElementText(obj);
rngscrollIntoView();
rngselect();
rngexecCommand("Copy");
rngcollapse(false);
alert("已经复制到粘贴板!你可以使用Ctrl+V 贴到需要的地方去了哦!");
}catch(e){
alert("您的浏览器不支持此复制功能,请选中相应内容并使用Ctrl+C进行复制!");
}
}
</script>
<span id="tbid">这里是点击链接后复制的内容</span> <a href="javascript:;" onclick="copyText(documentalltbid)">点击复制</a>
思路:你用textarea的select()选中,documentexecCommand("Copy");执行复制到剪切板,
实现:新建一个textarea,把要复制的字段,放到textarea中
function copy(ele){
var textarea = documentcreatElement("textarea");
textareainnerHTML = eleinnerHTML;
textareaselect();
documentexecCommand("Copy");
alert("成功了,请按Ctrl+v进行复制")
}
<script language="javascript">
$(document)ready(function (){
var imgCut1=new ImgCut("showHere","/mydogjpg",150,200,100,100);
}
</script>
<div id="showHere"></div>
如果要实现像QQ邮箱里面的截屏功能,则需要通过ActiveX插件来实现。QQ也是通过插件来实现的。
在这里推荐楼主使用北京新颖网络截屏插件。
详细介绍:>
复制是一个使用频率特别高的 *** 作,在网页中,一般可以选中要复制的内容,使用快捷键 ctrl+c 将内容复制到剪贴板。除了使用系统提供的快捷方式复制网页内容,我们还可以用JS实现复制,这得益于document的 execCommand('copy') 命令。
实现整个复制功能,需要以下三个步骤:
大部分HTML元素都有innerText和innerHTML两个属性,innerText属性返回文本内容,innerHTML属性返回标签元素。我们可以创建一个函数,用于获取需要返回的内容:
上面的selectText函数接收一个DOM元素,返回DOM元素的innerText属性值。
我们可以通过表单元素的select()方法选中内容,表单元素因为textarea限制少于input,所以推荐使用textarea。我们可以动态创建一个textarea元素,将textarea的value属性值设置为上面的innerText属性值,再执行textarea的select方法选中。
上面实现了选中,下面就可以实现复制功能了。
最后一步就可以用execCommand('copy')实现复制了,它可以复制浏览器中选中的文本,比如说上面被textarea选中的文本,复制之后记得移除textarea。
第二步和第三步可以优化一下,创建一个copy函数,函数参数设置为第一步需要复制的文本,返回值为复制的结果。
完整JS示例如下:
可以将上面的完整JS示例写入一个JS文件,将JS文件引入HTML中,通过JS点击事件来执行复制函数。
效果图:
clipboardDatasetData("Text",复制的内容)
看以下的实例
<html>
<script>
function aa(){
newT=documentselectioncreateRange()
clipboardDatasetData("Text",newTtext)
documentallppvalue=clipboardDatagetData("Text")
}
</script>
<span id=ww onmouseup=aa()>
测试一下这个中这你好我是skanso
</span>
<textarea name=pp></textarea>
</html>
打开这个网页之后,用鼠标选择部分字体,选择的字体就自动粘贴在textarea中
现代浏览器基于安全考虑,js 是无法直接读取剪贴板的。
唯一的可能性是,用户在可编辑元素中(如 contenteditable='true'
的 div)主动触发粘贴 *** 作(如,通过 ctrl+V)。此时通过监听 paste 事件, 可以从event中获取到用户所粘贴的内容。
示例代码(支持现代浏览器):
<div id='editableDiv' contenteditable='true'>Paste here</div>function handlePaste (e) {var clipboardData, pastedData;
// 阻止粘贴
estopPropagation();
epreventDefault();
// 获取剪贴板信息
clipboardData = eclipboardData || windowclipboardData;
// 获取剪贴板内容,getData 的参数是数据类型,这里为了获取文件路径是 'URL';如果想获取粘贴的文本,用 'Text'
pastedData = clipboardDatagetData('URL');
// 处理信息,此时 pastedData 应该是 'file:///path/to/xxx'
alert(pastedData);
}
documentgetElementById('editableDiv')addEventListener('paste', handlePaste);
但是,与其费心思这样做,为何不直接做成拖动上传呢,应该更易于使用吧。
示例来源
>
以上就是关于js 如何获取剪贴板文字全部的内容,包括:js 如何获取剪贴板文字、js获取事件源的上一个兄弟的值进行复制 *** 作、粘贴图片js怎么获取这个图片(类似于用QQ截图时候ctrl+v获取图片)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)