clipboard复制剪贴板功能,以及用requirejs时报错---Uncaught ReferenceError: Clipboard is not defined

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了clipboard复制剪贴板功能,以及用requirejs时报错---Uncaught ReferenceError: Clipboard is not defined相关的知识,希望对你有一定的参考价值。

zeroclipboard是走的flash插件,手机浏览器是不支持的,所以不得不舍弃之,用clipboard,clipboard不需要flash就可以完成复制剪切等功能,而且可以兼容pc,移动端,下面介绍如下

下面这个js插件能实现
<!DOCTYPE html>    
<html lang="en">    
<head>    
    <meta charset="UTF-8">    
    <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>   
    <script src="https://cdn.jsdelivr.net/clipboard.js/1.5.12/clipboard.min.js"></script>    
    <title>移动端复制到剪贴板!</title>    
</head>    
<body>    
<p>哈哈<span id="target">你没看错,就是复制的这里</span></p>    
<button class="btn" data-clipboard-action="copy" data-clipboard-target="#target" id="copy_btn">    
    复制按钮    
</button>    
    
</body>    
<script>    
    $(document).ready(function(){    
        var targetText=$("#target").text();    
        var clipboard = new Clipboard(‘#copy_btn‘);    
    
        clipboard.on(‘success‘, function(e) {    
            console.info(‘Action:‘, e.action);    
            console.info(‘Text:‘, e.text);    
            console.info(‘Trigger:‘, e.trigger);    
            alert("复制成功");    
    
            e.clearSelection();    
        });    
    });    
</script>    
</html>    

如果项目中用到了 requirejs,会出现 Uncaught ReferenceError: Clipboard is not defined,可是文件确实都引入进去了的,死活找不到答案,最好各种百度菜找到答案,

这是因为在有requirejs时,Clipboard不会把自己暴露为全局变量。

可以把Clipboard定义到requirejs的配置模块,然后如下使用:

define([‘clipboard‘],function(clipboard){
window[‘Clipboard‘]=clipboard;

    var clipboard = new Clipboard(‘.copy-button‘);
    clipboard.on(‘success‘, function(e) {
    layer.msg("复制成功");
    e.clearSelection();
});

大功告成,总算完成

});

 





































以上是关于clipboard复制剪贴板功能,以及用requirejs时报错---Uncaught ReferenceError: Clipboard is not defined的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Wayland 从 Vim 复制到系统剪贴板并且没有编译的 vim `+clipboard` 功能标志

编程vb.net clipboard 剪切复制粘贴

VB如何利用剪贴板复制、粘贴文件,用到啥API

js插件实现一键复制功能

vb.net 2008 我想用代码复制一个文件到剪贴板。 用户然后在QQ对话框中右击粘贴就可直接发送。 代码怎么写

clipboard.js存在的问题