Javascript 设置/删除jQuery绘图中单独点的onClick事件
我正在用jQuery Plot绘制一个图形。该图包含两条带点的线。我将网格中的选项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
'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,但我看了一眼,看不出有什么办法。你不能让点击事件调用成为一个函数,并区分你需要的点吗?