我希望能夠點擊一個點,並將該點的工具提示內容複製到瀏覽器剪貼板中。我在這裏有一個妥協的解決方案,將工具提示的html複製到輸入字段中,然後將其複製到剪貼板中。理想情況下,我喜歡在不需要輸入字段的情況下執行此操作,因爲這也需要將焦點移至輸入字段。有沒有辦法將HighCharts工具提示的內容複製到剪貼板?
我在想,應該可以選擇工具提示本身的文本,並從那裏複製它,而不是使用輸入作爲中間。
在這種example點擊一個點拷貝工具提示
$(function() {
$('#container').highcharts({
chart: {},
tooltip: {
useHTML: true,
borderWidth: 0,
style: {
padding: 0
}
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
events: {
click: function(event) {
copyToClipboard(this.chart.tooltip.label.div.innerHTML);
}
}
}]
});
// modified from another stackoverflow question
function copyToClipboard(html) {
// create hidden text element, if it doesn't already exist
var targetId = "clipboardInput";
target = document.getElementById("clipboardInput");
target.value = html;
target.focus();
target.setSelectionRange(0, target.value.length);
document.execCommand("cut");
}
});
Demo加入
Working version
copyTextToClipboard功能,以顯示點擊事件得到提示HTML –
那麼是什麼問題?你不知道如何從工具提示HTML中獲取內容,比如點的價值,系列等,或者你不知道如何將文本複製到剪貼板。對於第二種情況,有完整覆蓋該主題的答案,例如這裏http://stackoverflow.com/questions/400212/how-do-i-copy-to-the-clipboard-in-javascript – morganfree
@morganfree - 這是我使用的一個。 – wergeld