我能够使用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来表示数据。 –