调用函数onclick highchart

时间:2014-07-16 09:01:52

标签: javascript jquery highcharts

这里是fiddle

我试图能够点击图表上的任何地方来调用一个函数(我没有把它放在小提琴中,它在这里没用)。这个想法是能够在另一个中选择一个图表。

该示例只是将div的边框颜色更改为黑色,如果单击另一个,则会变为灰色。 目前,如果您点击背景,系列或其他div,它正在工作(在小提琴上测试)。 以下是相关代码:

背景:

events: {
    click: function(event) {
        var tile = $(this.container);
        while (!tile.parent().hasClass("tile")){
            tile = tile.parent();
        }
        highlightElem(tile);
    }
},

对于该系列:

series: {
    events: {
        click: function(event) {
            var tile = $(this.chart.container);
            while (!tile.parent().hasClass("tile")){
                tile = tile.parent();
            }
            highlightElem(tile);
        }
    }
}

对于div的其余部分:

$(".tile").children().click(function(){
    highlightElem($(this));
});

但它不适用于轴,标题和游戏。

如果有人有想法修复它。

1 个答案:

答案 0 :(得分:2)

我尝试过使用" .tile div"相反" .tile"在调用func" highlightElem"

 $(".tile div").on('click',function(){
    highlightElem($(this));
});

同样在" highlightElem"使用" nearest()"

更新代码
function highlightElem(elem) {
if (oldElem !== null) {
    oldElem.closest('.widget').css("border-color", "#ccc");
}
elem.closest('.widget').css("border-color", "black");
oldElem = elem;

}

http://jsfiddle.net/vchbg/24/