2017-02-27 80 views
0

polar-chartchart.js之 - 極地地區 - 傳奇懸停風格和保證金

大家好,

希望這是一個簡單的一個。我已經設置了一個帶有onclick事件的圖例,但是當我將鼠標懸停在標籤上時,希望鼠標光標變爲「指針」(請參見上面的圖表截圖)。目前很難說標籤是鏈接的,因爲當我將鼠標懸停在它們上方時,鼠標光標不會改變。

另外,如何在圖例和圖表(圖例下方的空白)之間添加一些邊距/填充。

非常感謝!

回答

2

使用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; 
     } 
    } 
    } 
} 
+0

令人驚歎!完美的作品...你是否也知道如何在圖表和圖例之間獲得空間(填充/邊距)? – HDhani

+0

不幸的是,真的沒有辦法在自動生成的圖例和圖表之間添加更多空間。當然,你可以改變圖例的位置,但是如果你真的想在這裏控制它的位置和東西之間有多大的空間,那麼你應該使用'.generateLegend()'原型方法使用自己的自定義圖例。搜索所以,有很多問題可以說明這是如何完成的。 – jordanwillis

+0

嗯,好的,也許我會再回來一次。謝謝你的幫助! – HDhani

0

接受的答案不適合我,因爲我的提示總是可見的(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); 
} 

這是一個骯髒伎倆,但它的工作原理。