未捕获的TypeError:对象(JS函数)没有方法'apply'

时间:2014-01-10 17:54:23

标签: javascript jquery python django highcharts

我想用django-chartit图表来处理事件,而be​​llow是python代码。

def basicpie(request, title, code, doc, sidebar_items):

    def monthname(month_num):
        names ={1: 'Jan', 2: 'Feb', 3: 'Mar', 4: 'Apr', 5: 'May', 6: 'Jun',
            7: 'Jul', 8: 'Aug', 9: 'Sep', 10: 'Oct', 11: 'Nov', 12: 'Dec'}
        return names[month_num]


    ds = DataPool(
       series=
        [{'options': {
            'source': MonthlyWeatherByCity.objects.all()},
          'terms': [
            'month',
            'boston_temp']}
         ])

    cht = Chart(
        datasource = ds,
        series_options =
          [{'options':{
              'type': 'pie',
              'stacking': False},
            'terms':{
              'month': [
                'boston_temp']
              }}],
        chart_options =
          {'title': {
               'text': 'Monthly Temperature of Boston'},

            'plotOptions': {
              'series': {
                "cursor": "pointer",
                'point': {
                  'events': {
                    'click': 'function() {alert(\'clicked\');}'
                  }
                }
              }
            }
          },
        x_sortf_mapf_mts = (None, monthname, False))

    return render_to_response('chart_code.html', {'chart_list': cht,
                                         'code': code,
                                         'title': title,
                                         'doc': doc,
                                         'sidebar_items': sidebar_items})

和django-chartit的javascript代码

$(document).ready(function() {
    $.each(_chartit_hco_array, function(index, chartoptions) {
        chart = new Highcharts.Chart(chartoptions);
    });
});

但是当我点击图表时出现以下错误。

Uncaught TypeError: Object function() {alert('clicked');} has no method 'apply'.

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:3)

Highcharts需要一个click param函数,并且你传递一个字符串。

改为使用

'events': {
         'click': function() {
              alert("clicked");
             }
          }

Here是Highcharts中的文档。