【JS】【7】获取粘贴板的内容

前言:有时会有要获取剪切板内容的情况,我最开始有这个需求,不过后面放弃了,因为有兼容性的问题,在IE可行,在chrome和firefox不行。查到这篇博客做了兼容处理,就写在这里记录一下。

正文:

//绑定在了body上,也可以绑定在其他可用元素行,但是不是所有元素都支持copy和past事件。
$(document.body).bind({
    copy: function(e) {//copy事件
        var cpTxt = "复制的数据";
        var clipboardData = window.clipboardData; //for IE
        if (!clipboardData) { // for chrome
            clipboardData = e.originalEvent.clipboardData;
        }
        //e.clipboardData.getData(‘text‘);//可以获取用户选中复制的数据
        clipboardData.setData(‘Text‘, cpTxt);
        alert(cpTxt);
        $(‘#message‘).text(‘Copy Data : ‘ + cpTxt);
        return false;//否则设不生效
    },paste: function(e) {//paste事件
        var eve = e.originalEvent
        var cp = eve.clipboardData;
        var data = null;
        var clipboardData = window.clipboardData; // IE
        if (!clipboardData) { //chrome
            clipboardData = e.originalEvent.clipboardData
        }
        data = clipboardData.getData(‘Text‘);
        $(‘#message‘).html(data);
    }
});

参考博客:

实现JS复制、粘贴,Chrome/Firefox下可用 - HackerSaillen的专栏 - CSDN博客
https://blog.csdn.net/HackerSaillen/article/details/45694181

原文地址:https://www.cnblogs.com/huashengweilong/p/10807192.html

时间: 2024-08-30 02:04:55

【JS】【7】获取粘贴板的内容的相关文章

React onPaste 获取粘贴板的值

React 中, 获取 粘贴板的值, 使用下面的方法 console.log(e.clipboardData.getData('Text')); 如果是 JS 中的 onpaste 事件, 则使用 var pastedText = undefined; if (window.clipboardData && window.clipboardData.getData) { // IE     pastedText = window.clipboardData.getData('Text');

【Java】【17】读取粘贴板的内容

前言:对粘贴板的一些操作 package com.test.jvm.oom.design; import java.awt.Image; import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.StringSelection; import java.awt.datatransfer.

Clipboard.GetImage() Clipboard获取粘贴板内容为null的解决办法

将线程启动模式设置为 sta 单线程 简介 STA:   Single-Thread   Apartment,   中文叫单线程套间.就是在COM库初始化的时候创建一个内存结构,然后让它和调用CoInitialize的线程相关联.这个内存结构针对每个线程都会有一个.支持STA的COM对象只能在创建它的线程里被使用,其它线程如果再创建它就会失败. MTA:   Mutil-Thread   Apartment,中文叫多线程套间.COM库在进程中创建一个内存结构,这个内存结构在整个进程中只能有一个,

实现JS复制、粘贴,Chrome/Firefox下可用

背景: 最近一直在做一个Web Excel项目,其中一项功能一直很纠结,就是数据的复制粘贴功能.功能要求:可以把Web端数据粘贴到Excel中,也可以从Excel中直接粘贴数据到页面编辑器中.支持Button粘贴和Ctrl+C/Ctrl+V快捷键复制粘贴. 本以为这个功能会很简单,但是查了很多资料,用JS操作粘贴板IE下很好用,直接支持一个window.clipboardData对象,通过这个对象可以访问到粘贴板中内容.但是chrome和firefox支持不是很好.Chrome和firefox为

设置粘贴板,文章出处

//设置粘贴板中的内容 clipboardData.setData('text', '无语....'); //获取粘贴板中的内容 clipboardData.getData('text')

Gvim与系统粘贴板复制和粘贴操作

gvim如何复制和粘贴系统粘贴板的内容: 复制Gvim里面的内容至系统粘贴板:"+y 粘贴系统粘贴板里面的内容至Gvim:"+p

IOS 访问系统粘贴板

粘贴板提供了一种核心OS特性,用于跨应用程序共享数据.用户可以跨应用来复制粘贴,也可以设置只在本应用中复制粘贴用来保护隐私. UIPasteboard类允许访问共享的设备粘贴板以及内容,下面代码返回一般的系统粘贴板,它适合大多数一般的复制粘贴应用. UIPasteboard *pd = [UIPasteboard generalPasteboard]; 使用pasteboardWithUniqueName创建特定于应用程序的粘贴板,只有知道并且使用粘贴板名称键的应用程序能能够使用相同的粘贴板.

IDEA的粘贴板的一点问题

用的IDEA是 14.0.2, 在使用复制粘贴的时候, 有时出现很奇怪的 ,粘贴到的不是刚才复制的内容,而是之前复制的内容,这个问题大概是IDEA支持历史内容的粘贴 这个功能导致的, IDEA的历史粘贴板 支持粘贴之前5次粘贴过的历史内容, 因为历史粘贴板已经满了,所以当前复制的内容就进不了IDEA的粘贴板,解决办法就是  ctrl + shift + v ,弹出历史粘贴板,删掉历史粘贴板的内容,然后现在复制的内容就可以正常粘贴到IDEA的 编辑器了.

js实现复制内容到粘贴板

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8" /> 5 <title>js复制内容到粘贴板</title> 6 <style> 7 .flex-r { 8 display: flex; 9 flex-direction: row; 10 align-content: center; 11 justify-content: spac