流程摘要: 我写了一个jsp页面和一个js文件。 jsp包括具有可点击区域的表单。当用户点击那里时,js将带有onclick方法的按钮添加到jsp,如果用户点击该按钮,则应将一些文本复制到剪贴板。
JS将按钮添加到jsp:
<button id="copyToClipboard" title="Copy to clipboard" type="button" onclick="shareTransaction($(this))"></button>
JS onclick:
function shareTransaction(e) {
$('#copyToClipboard').attr('data-clipboard-text',$(location).attr('protocol')+'//'+$(location).attr('host')+'/goblin/'+result);
var zeroClipboard = new ZeroClipboard($("#copyToClipboard"));
}
在第一次点击中,没有任何事情发生。在第二次单击中 - 文本已成功复制。
答案 0 :(得分:0)
您可以在单击按钮之前尝试初始化ZeroClipboard对象。
示例代码:
<html>
<head>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.3.js"></script>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/zeroclipboard/2.0.0/ZeroClipboard.Core.js"></script>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/zeroclipboard/2.0.0/ZeroClipboard.js"></script>
<script type="text/javascript">
function initZc(){
var button = $("button");
console.log(button)
var clip = new ZeroClipboard(button);
clip.on( 'ready', function(event) {
clip.on('copy', function(event) {
event.clipboardData.setData('text/plain', "working");
});
} );
};
$(document).ready(function(){
$(document.body).append($("<button>click to copy</button>"));
initZc();
});
</script>
</head>
<body>
</body>
</html>