我能夠使用Morris.select()在甜甜圈中保留默認段。觸發morris.js中的甜甜圈段上的點擊事件
除此之外,我想觸發同一個(默認選擇段)的點擊事件。 有沒有辦法達到這個目的?
我甚至試過$('path').eq(1).trigger('click')
,但它沒有工作。
我能夠使用Morris.select()在甜甜圈中保留默認段。觸發morris.js中的甜甜圈段上的點擊事件
除此之外,我想觸發同一個(默認選擇段)的點擊事件。 有沒有辦法達到這個目的?
我甚至試過$('path').eq(1).trigger('click')
,但它沒有工作。
在Morris Donut對象中添加on('click')
函數。然後,您可以使用row
參數訪問甜甜圈數據。
正如您所說的,您可以使用甜甜圈的select(index)
方法選擇一個細分。然後,如果要顯示相應段的數據,請調用以Donut數據爲參數的函數,例如:morrisDonut.data[index]
。
這裏是一個工作示例:
var morrisDonut = Morris.Donut({
element: 'donut',
data: [
{label: "Download Sales", value: 12},
{label: "In-Store Sales", value: 30},
{label: "Mail-Order Sales", value: 20}
],
resize: true
}).on('click', function (i, row) {
// Do your actions
// Example:
displayData(i, row);
});
// Index of element to select
var i = 2;
// Selects the element in the Donut
morrisDonut.select(i);
// Display the corresponding data
displayData(i, morrisDonut.data[i]);
function displayData(i, row) {
$('#data').html(row.label + ": " + row.value);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.min.js"></script>
<link href="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.css" rel="stylesheet" />
<div id="donut"></div>
<div id="data"></div>
謝謝..我發現了另一種方式....因爲morris給出了高值默認情況下突出顯示,我最初從json獲取高價值數據。然後無論如何,它們顯示出相應的值。無論如何謝謝...這比我的容易 –
你爲什麼要觸發點擊? – krlzlx
我在div中顯示相應的數據。我爲少數數據集生成圖表。在選擇每個數據集時,我想用div來表示數據。 –