zoukankan      html  css  js  c++  java
  • js vue uniapp 复制到剪切板

    感谢

    https://blog.csdn.net/xiaobaixiaye/article/details/81875582

    clipboard.js 是一个不需要flash,将文本复制到剪贴板的插件。简单介绍下基本运用。

    首先引入插件

    1

    <script src="js/clipboard.min.js"></script>

    2

    首先需要您需要通过传递DOM选择器,HTML元素或HTML元素列表来实例化它。

    <script>
    
    new Clipboard('.btn');
    
    </script>

    3

    用一个元素当触发器来复制另一个元素的文本,data-clipboard-target属性后需要跟属性选择器

    <input id="foo" value="https://github.com/zenorocha/clipboard.js.git">
    
    <button class="btn" data-clipboard-target="#foo"> </button>

    另外还有另外一个属性data-clipboard-action属性,以指定是要要么copy还是要cut操作。默认情况下是copy。cut操作只适用于或元素

    <textarea id="bar">Mussum ipsum cacilds...</textarea> <button class="btn" data-clipboard-action="cut" data-clipboard-target="#bar"> Cut to clipboard </button>

    从属性中复制文本,不需要另一个元素当触发器,可以使用data-clipboard-text属性,在后面放上需要复制的文本.

    <button class="btn" data-clipboard-text="Just because you can doesn't mean you should — clipboard.js"> Copy to clipboard </button>

    其他说明

    1通过运行检查clipboard.js是否支持Clipboard.isSupported(),返回true则可以使用。
    2显示一些用户反馈或捕获在复制/剪切操作后选择的内容。操作,文本,触发元素

    var clipboard = new Clipboard('.btn');
    
    clipboard.on('success', function(e) {
        console.info('Action:', e.action);
        console.info('Text:', e.text);
        console.info('Trigger:', e.trigger);
    
        e.clearSelection();
    });
    
    clipboard.on('error', function(e) {
        console.error('Action:', e.action);
        console.error('Trigger:', e.trigger);
    });

    4高级使用

    如果你不想修改你的HTML,又或者要获取内容的标签是无法被选中【移动端经常遇到的问题】,那么你可以使用一个非常方便的命令API。所以你需要做的是声明一个函数,写下你想要的操作,并返回一个值。下面是一个对不同id的触发器返回不同的值的例子。具体的使用方法请看https://clipboardjs.com

    <body>
        <input id="foo" value="https://github.com/zenorocha/clipboard.js.git">
    
        <button id='foo_1' class="btn" data-clipboard-target="#foo"></button>
    </body>
    
    
    
    <script>
    new Clipboard('.btn', {
        text: function(trigger) {
            if(trigger.getAttribute('id')=='foo_1'){
                return 1;
            }else{
                return 2;
            }
        }
    });
    </script>

    5移动端复制失败分析详解

    移动端复制失败的原因基本都是要获取的内容无法被选中,如此才获取不到内容,用上面的函数基本可以解决,但亦可看看分析过程。
    clipboard.js在移动端复制失败的解决方法

    6支持的浏览器

    谷歌42+,火狐41+,其他自己查看https://clipboardjs.com

  • 相关阅读:
    PHP-FPM doesn't write to error log
    CSS中position属性( absolute | relative | static | fixed )详解
    微信分享踩坑
    使用layer-list实现特殊的效果
    如何正确的给ViewGroup设置OnClickListener
    android:clipchildren属性
    学习有边界吗?学了几年感觉什么也做不出,学习无用?
    电动车的蓄电池与锂电池
    《增长黑客》节选与笔记
    Firefox火狐浏览器的高效使用
  • 原文地址:https://www.cnblogs.com/zonglonglong/p/13377483.html
Copyright © 2011-2022 走看看