react实现获取复制粘贴过来的文件,文字。reactnative复制文字

待我称王封你为后i 2022-12-31 13:20 402阅读 0赞
  • 获取复制的文件名

HTML

  1. <div class="paste">
  2. </div>
  3. <input type="file" class="paste"/>
  4. <textarea class="paste"></textarea>

JQuery

  1. $('body').bind('paste', function(a, b, c) {
  2. console.log(a.originalEvent.clipboardData);
  3. console.log(a.originalEvent.clipboardData.getData('File'));
  4. console.log(a.originalEvent.clipboardData.getData('Text'));
  5. if (a.originalEvent.clipboardData.files[0]) console.log(a.originalEvent.clipboardData.files[0].getAsFile());
  6. if (a.originalEvent.clipboardData.items[0]) console.log(a.originalEvent.clipboardData.items[0].getAsFile());
  7. console.log(a, b, c);
  8. }
  9. );

此代码能够读取复制粘贴的文件名,注意哦,是文件名

  • 获取复制的文字

    copyTranslateResult = () => {

    1. const copyDOM = document.querySelector('.translateResult');
    2. if (copyDOM.innerHTML !== '') {
    3. var range = document.createRange(); //创建一个range
    4. window.getSelection().removeAllRanges(); //清楚页面中已有的selection
    5. range.selectNode(copyDOM); // 选中需要复制的节点
    6. window.getSelection().addRange(range); // 执行选中元素
    7. var successful = document.execCommand('copy'); // 执行 copy 操作
    8. if (successful) {
    9. message.success('复制成功!');
    10. } else {
    11. message.warning('复制失败,请手动复制!');
    12. }
    13. // 移除选中的元素
    14. window.getSelection().removeAllRanges();
    15. } else {
    16. message.warning('没有内容');
    17. }
    18. };
  • 通过组件获取复制的文字(如果页面中有多处复制,那么放到app.js的componentDidMount 组件内)

    import * as ClipboardJS from ‘clipboard’
    componentDidMount () {

    1. // 创建复制文字实例
    2. var clipboard = new ClipboardJS('#copytext');
    3. clipboard.on('success', function (e) {
    4. message.success('复制成功!');
    5. e.clearSelection();
    6. });
    7. clipboard.on('error', function (e) {
    8. message.warning('复制失败,请手动复制!');
    9. });
    10. };
  1. <div style={
  2. {backgroundColor:'#eeefff',height:60,padding:5}}>
  3. <div>回复:<span id="replyFeedContent">{item.reply}</span></div>
  4. <div style={
  5. {marginRight:10,cursor: 'pointer'}} data-clipboard-text={item.reply}>
  6. <Icon type="copy" style={
  7. { color:'#666',fontSize: 13,marginRight: 5}} />
  8. <span style={
  9. {color:'#666',fontSize: 13}}>复制</span>
  10. </div>
  11. </div>
  • reactnative复制文字

引入

  1. import { Clipboard, } from 'react-native';
  2. onCopy = (content) => {
  3. //清空粘贴板
  4. Clipboard.setString(null)
  5. //设置粘贴板文案
  6. Clipboard.setString(content)
  7. //获取粘贴板文案
  8. Clipboard.getString().then(oldVal => {
  9. if (oldVal == content) {
  10. toast("复制成功!");
  11. }
  12. })
  13. };

发表评论

表情:
评论列表 (有 0 条评论,402人围观)

还没有评论,来说两句吧...

相关阅读

    相关 xshell复制粘贴

    今天下午想把同学的python代码部署到我的远程服务器上,利用xshell在windows下进行远程连接时差点被复制粘贴搞疯。复制粘贴不就是Ctrl+C,Ctrl+V嘛,但是