似乎无法在我的简单Meteor剪贴板应用中使用zclip:http://commandc.meteor.com
我认为我在流星加载jquery,zclip和复制脚本方面缺少一些东西,因此我将所有内容都移到了html中并使用了外部源代码。仍然,复制不起作用。在这里工作的代码非常相似:http://jsbin.com/uladis/7/edit
PS:我知道我在复制正确元素的文本时遇到了另一个问题,而不是所有的p标签。不用担心。
编辑:使用下面的Akshat方法为每个副本实例提供此例外:
Exception from Meteor._atFlush: TypeError: Object [object Object] has no method 'zclip'
at Object.Template.copy.rendered (http://localhost:3000/command-c.coffee.js?78eccd42fde3d566da961e73c1ab9f4ad83a4e26:18:35)
at Spark.createLandmark.rendered (http://localhost:3000/packages/templating/deftemplate.js?91fdd4353cca922f7a59ff593d000211c2857c84:125:44)
at http://localhost:3000/packages/spark/spark.js?c202b31550c71828e583606c7a5e233ae9ca50e9:386:32
at Array.forEach (native)
at Function._.each._.forEach (http://localhost:3000/packages/underscore/underscore.js?47479149fe12fc56685a9de90c5a9903390cb451:79:11)
at http://localhost:3000/packages/spark/spark.js?c202b31550c71828e583606c7a5e233ae9ca50e9:384:7
at http://localhost:3000/packages/deps/deps-utils.js?f3fceedcb1921afe2b17e4dbd9d4c007f409eebb:106:13
at http://localhost:3000/packages/deps/deps.js?1df0a05d3ec8fd21f591cfc485e7b03d2e2b6a01:71:15
at Array.forEach (native)
at Function._.each._.forEach (http://localhost:3000/packages/underscore/underscore.js?47479149fe12fc56685a9de90c5a9903390cb451:79:11)
答案 0 :(得分:1)
我从未使用过Zclip,所以希望我很有帮助,包括其他正确的元素问题:
使用<.. id='..'
时,您需要确保每个都是唯一的,否则DOM会中断:
而不是<p id="copy">
使用类似<p id="{{_id}}" class="copy">
我尝试使用this.data
Template.copy.rendered = function() {
$('#' + this.data._id).zclip({
path:"http://www.steamdev.com/zclip/js/ZeroClipboard.swf",
copy:this.data.name
});
}
}
所以每次复制点击工作都使用这种模式
HTML:
我已将列表拆分,以便副本位于自己的模板中,因此上面呈现的函数可以获得自己的data context
<template name="list">
{{#each copies}}
{{>copy}}
{{/each}
</template>
<template name="copy">
<p id="{{_id}}" class="copy">{{name}}</p>
</template>
修改强>
1)使用Meteor而不是使用<script>
添加JQuery使用meteor包:在项目目录中添加JQuery:
meteor add jquery
2)将http://www.steamdev.com/zclip/js/jquery.zclip.min.js处的文件添加到项目中client/lib
发生错误是因为zclip尚未加载。