Clipboard.js脚本在视图文件中工作,但不在单独的.js文件中

时间:2017-08-15 12:57:00

标签: javascript yii2 clipboard

我正在使用clipboard.js来允许用户从API文档页面复制代码片段。

<script> var clipboard = new Clipboard('.copyButton');</script>

当我在我的视图中运行此脚本时,功能全部正常工作。但是,如果我将脚本放在自己的js文件中,我会收到错误

Uncaught ReferenceError: Clipboard is not defined

我正在使用Yii2框架,所以我使用资产来注册这样的来源:

 public $js = [
    "js/api.js",
];

然后我在我的主要布局中注册了这个资产,如下所示:

use metis\assets\ApiAsset;
ApiAsset::register($this);

有人有任何想法吗?

1 个答案:

答案 0 :(得分:0)

听起来好像Clipboard对象没有及时初始化,或者在使用它的脚本之后注册了clipboard.js文件。您是否可以从客户端源验证在使用它的脚本之前是否定义了clipboard.js文件?