大家好,
希望這是一個簡單的一個。我已經設置了一個帶有onclick事件的圖例,但是當我將鼠標懸停在標籤上時,希望鼠標光標變爲「指針」(請參見上面的圖表截圖)。目前很難說標籤是鏈接的,因爲當我將鼠標懸停在它們上方時,鼠標光標不會改變。
另外,如何在圖例和圖表(圖例下方的空白)之間添加一些邊距/填充。
非常感謝!
大家好,
希望這是一個簡單的一個。我已經設置了一個帶有onclick事件的圖例,但是當我將鼠標懸停在標籤上時,希望鼠標光標變爲「指針」(請參見上面的圖表截圖)。目前很難說標籤是鏈接的,因爲當我將鼠標懸停在它們上方時,鼠標光標不會改變。
另外,如何在圖例和圖表(圖例下方的空白)之間添加一些邊距/填充。
非常感謝!
使用legend onHover config option(將指針樣式更改爲pointer
)和custom tooltips config option(將指針樣式更改回default
)的組合可以實現所需的行爲。
下面是一個演示工作解決方案的示例配置。我不確定你是否使用jQuery,所以我決定不使用它。隨意相應地更改。
options: {
legend: {
position: 'top',
labels: {
fontColor: 'rgb(255, 99, 132)'
},
onHover: function(event, legendItem) {
document.getElementById("canvas").style.cursor = 'pointer';
}
},
tooltips: {
custom: function(tooltip) {
if (!tooltip.opacity) {
document.getElementById("canvas").style.cursor = 'default';
return;
}
}
}
}
接受的答案不適合我,因爲我的提示總是可見的(position: "nearest"
)。所以我使用超時更改,並恢復光標風格:
onHover: function(event, legendItem) {
document.getElementById("canvas").style.cursor = "pointer";
clearTimeout(hoverTimeout); // global var
hoverTimeout = setTimeout(function() {
document.getElementById("canvas").style.cursor = "default";
}, 100);
}
這是一個骯髒伎倆,但它的工作原理。
令人驚歎!完美的作品...你是否也知道如何在圖表和圖例之間獲得空間(填充/邊距)? – HDhani
不幸的是,真的沒有辦法在自動生成的圖例和圖表之間添加更多空間。當然,你可以改變圖例的位置,但是如果你真的想在這裏控制它的位置和東西之間有多大的空間,那麼你應該使用'.generateLegend()'原型方法使用自己的自定義圖例。搜索所以,有很多問題可以說明這是如何完成的。 – jordanwillis
嗯,好的,也許我會再回來一次。謝謝你的幫助! – HDhani