Ich möchte in der Lage sein, auf einen Punkt zu klicken und den Inhalt des Tooltips für diesen Punkt in die Zwischenablage des Browsers kopieren zu lassen. Ich habe hier eine kompromittierte Lösung, die den HTML-Code des Tooltips in ein Eingabefeld kopiert und dann in die Zwischenablage kopiert. Ich möchte dies idealerweise tun, ohne ein Eingabefeld zu benötigen, da dies auch erfordert, dass der Fokus in das Eingabefeld bewegt wird.Gibt es eine Möglichkeit, den Inhalt einer HighCharts-Tooltip in die Zwischenablage zu kopieren?
Ich denke, dass es möglich sein sollte, den Text des Tooltips selbst auszuwählen und von dort zu kopieren, anstatt die Eingabe als Zwischenprodukt zu verwenden.
In diesem example Klick auf einen Punkt kopiert den HTML-Code der Tooltip
$(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");
}
});
Added Demo Klick-Ereignis zeigen Tooltip html zu erhalten –
Also, was ist das Problem? Sie können nicht den Inhalt von der Tooltip HTML, wie Punkt Wert, Serie, etc. oder Sie können nicht den Text in Clipboad kopieren. Für den zweiten Fall gibt es Antworten, die das Thema vollständig abdecken, z. hier http://stackoverflow.com/questions/400212/how-do-i-copy-to-the-clipboard-in-javascript – morganfree
@morganfree - das ist das gleiche ich benutze. – wergeld