这是剪辑副本的更新代码
<script src="jquery-1.8.0.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://www.steamdev.com/zclip/js/jquery.zclip.min.js"></script>在身体部分:
<div>
<input type="text" id="txtEmbedLink" />
<button id="btnCopyClipboard">
copy</button>
</div>
<script type="text/javascript">
$(document).ready(function () {
$('#btnCopyClipboard').zclip({
path: 'http://www.steamdev.com/zclip/js/ZeroClipboard.swf',
copy: $('#txtEmbedLink').val(),
beforeCopy: function () {
alert('before copy');
},
copy: function () {
alert('copy');
return $('#txtEmbedLink').val();
},
afterCopy: function () {
alert('after copy');
}
});
});问题是,当我单击按钮时,只有beforeCopy正确运行,复制后什么也没有(猜测问题是复制函数:副本中的警报命令正确运行)。
发布于 2014-08-29 02:27:55
我已经为您找到了解决方案,修改您的代码,因为jsfiddle与本地代码不同。
附于jsfiddle http://jsfiddle.net/sxeCM/101/
主要问题是web中已经提到的动态值,并将其放在dom就绪中,而不是按一下按钮。
$(document).ready(function () {
$('#btnCopyClipboard').zclip({
path: 'http://www.steamdev.com/zclip/js/ZeroClipboard.swf', //this remain as the one you had
copy:function(){return $('#txtEmbedLink').val();} //change this to be the clientid
});
});最新答案:
检查这个http://jsfiddle.net/sxeCM/102/
$(document).ready(function () {
$('#btnCopyClipboard').zclip({
path: 'http://www.steamdev.com/zclip/js/ZeroClipboard.swf',
copy:function(){return $('#txtEmbedLink').val();},
beforeCopy: function () {
console.log("test");
},
afterCopy: function () {
alert('after copy');
}
});
});正如在这个jsfiddle中测试的那样,我发现在预报器中的警报最终会导致一个不知道的故障,在这个错误中,zclip没有复制文本输入,而是将其更改为console.log,这表明复制工作正常,所以如果您想要测试,为什么不用console.log("before copy")?替换您的警报呢,路径应该保持原来的路径,不要使用示例路径。
发布于 2015-06-01 07:28:45
我不知道你是否解决了它,我寻找了很长一段时间的原因,可能它也适合你。
我的问题是我的附加元素还没有准备好。因此,函数“是(:可见的)”总是"false",宽度和offsetWidth总是0。您可以尝试为zclip setTimeout添加attach.like。
setTimeout(function(){
$('attchElement').zclip({
path: 'ZeroClipboard.swf',
copy: $('textarea').val()
});
},500);https://stackoverflow.com/questions/25560310
复制相似问题