javascript - 莫里斯栏上的点击事件

标签 javascript jquery morris.js

我实现了莫里斯图,并且还致力于点击功能,但我希望当我点击栏时,该栏的数据将发出警报。那么如何获取数据。

 <!DOCTYPE html>
    <html>
    <head>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
    <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
      <script src="http://cdn.oesmith.co.uk/morris-0.4.1.min.js"></script>
    <meta charset=utf-8 />
    <title>Morris.js Bar Chart Example</title>
    </head>
    <body>
      <div id="bar-example"></div>
    </body>
        <script>
    Morris.Bar({
      element: 'bar-example',
      data: [
        { y: '2006', a: 100, b: 90 },
        { y: '2007', a: 75,  b: 65 },
        { y: '2008', a: 50,  b: 40 },
        { y: '2009', a: 75,  b: 65 },
        { y: '2010', a: 50,  b: 40 },
        { y: '2011', a: 75,  b: 65 },
        { y: '2012', a: 100, b: 90 }
      ],
      xkey: 'y',
      ykeys: ['a', 'b'],
      labels: ['Series A', 'Series B']
    });

    $( "#bar-example svg rect" ).on('click', function(data) {
      alert( data);//show [object.Object] when alert popup
    });
    </script>

    </html>

最佳答案

首先,谢谢你让我发现this cool graph library 。 ;)

这是一个编辑
经过几次尝试...
我最终真正简化了我的解决方案。
因此,为了清楚起见,我删除了所有以前的编辑。无论如何,您都可以在编辑历史记录中看到它们。 ;).

所以现在,基于这个new example provided在下面的评论中:

我们在图表下方的摘要中获取了所需的信息:

var thisDate,thisData;
$( "#bar-example svg rect" ).on('click', function() {
    // Find data and date in the actual morris diply below the graph.
    thisDate = $(".morris-hover-row-label").html();
    thisDataHtml = $(".morris-hover-point").html().split(":");
    thisData = thisDataHtml[1].trim();

    // alert !!
    alert( "Data: "+thisData+"\nDate: "+thisDate );
});

thisDatethisData 加载时不包含任何内容(空)。
但它们在点击时保存了最后点击的栏值。
这些变量可在其他后续脚本中使用,因为它们是在 click() 处理程序外部声明的。

参见this new CodePen

关于javascript - 莫里斯栏上的点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38662260/

相关文章:

jquery - 跨域请求和JQuery

javascript - 在 morris.bar 图表中所有标签都没有显示但是当我放大所有标签时都正确显示

javascript - 莫里斯 donut chart 标签显示未定义错误

javascript - 使用正则表达式限制文本框中的输入

javascript - 如何在react js中正确使用三元运算符?

javascript - Php Javascript 如何从字符串中删除唯一想要的文本?

javascript - 在关闭或已经关闭的模式下保护 websocket

javascript - 如何跨应用程序的多个组件维护一个 js 文件而不出现任何错误

javascript - 如何将选定时隙数组格式化为格式化字符串

javascript - 如何在莫里斯面积图中的 x 轴上以字符串形式显示月份名称