Javascript 设置/删除jQuery绘图中单独点的onClick事件

Javascript 设置/删除jQuery绘图中单独点的onClick事件,javascript,jquery,flot,Javascript,Jquery,Flot,我正在用jQuery Plot绘制一个图形。该图包含两条带点的线。我将网格中的选项'clickable'设置为true。它使所有的点都可以点击 问题是,我如何才能只设置单独的可点击点 这是我的密码: d1 = [[889.0, y_max], [905.0, y_max], [915.0, y_max], [935, y_max]]; d2 = [[885.0, 0.4], [905.0, 0.6], [915.0, 0.34], [935, 0.39]]; options = { ya

我正在用jQuery Plot绘制一个图形。该图包含两条带点的线。我将网格中的选项
'clickable'
设置为true。它使所有的点都可以点击

问题是,我如何才能只设置单独的可点击点

这是我的密码:

d1 = [[889.0, y_max], [905.0, y_max], [915.0, y_max], [935, y_max]];
d2 = [[885.0, 0.4], [905.0, 0.6], [915.0, 0.34], [935, 0.39]];
options = {
    yaxis: { min: y_min, max: y_max },
    grid: { hoverable: true,
            clickable: true,
            borderWidth: 0 },
    legend: {
        show: true,
        noColumns: 4,
        container: $("#labeler"),
        labelFormatter: function (label, series) {
            var cb = label;
            return cb;
        }
    }
};

ed_data = [
    { data: d1,
      points: { show: true, symbol: "diamond" },
      lines: { show: false },
      color: "#FF0000"
    },
    { label: "Serie 1",
      data: d2,
      points: { show: true,
                symbol: "triangle" },
      lines: { show: true, 
               lineWidth: 1 }
     }];

 pl = $.plot($("#placeholder_top"), ed_data, options);

好的,这是一个有点黑客,但它的工作。其思想是将定义数据点的数组从两个元素(
x
y
)扩展到三个元素(
x
y
,和
可点击
)。因此,您可以这样定义数据:

d2 = [[885.0, 0.4], [905.0, 0.6, true], [915.0, 0.34, false], [935, 0.39, true]];
第一个点不可单击(其第三个元素为
未定义的
),第二个和第四个点可单击(两者的第三个元素均设置为
),第三个点不可单击(其第三个元素为

现在,当您绑定
plotclick
事件时,您可以轻松筛选出不响应的项目:

$("#chart").bind("plotclick", function (event, pos, item) {
    if (item) {
        var dataPoint = item.series.data[item.dataIndex];
        if (dataPoint[2]) {
            // respond to the click 
        }
    }
});

我没有真正使用flot,但我看了一眼,看不出有什么办法。你不能让点击事件调用成为一个函数,并区分你需要的点吗?