嗨我对highcharts和jquery一般都是新手,我想知道是否还有在数据表中的系列点之间切换游标。
例如,对于我的应用程序,我不希望用户点击某些系列,但我确实希望他们点击其他系列
这是一个有人发布的小提琴,我想知道我是否可以创建一个函数就像在“click”中一样,如果设置了“this.options”中的参数,它将在指针之间切换
$(function () {
$('#container').highcharts({
chart: {},
xAxis: {
minPadding: 0.05,
maxPadding: 0.05
},
series: [{
data: [{
x: 0,
y: 29.9,
url: 'http://www.google.com'
}, {
x: 1,
y: 71.5,
url: 'http://www.yahoo.com'
}]
}],
plotOptions: {
series: {
cursor: 'pointer',
point: {
events: {
click: function () {
var url = this.options.url;
window.open(url);
}
}
},
}
},
});
});
无论如何都要做
这样的事情cursor: function() {
if(this.options.clickable) {
'pointer'
} else {
'default'
}
}
谢谢
答案 0 :(得分:2)
您可以向选项添加clickable
,然后在点击事件中检查其值。如果它为假,则执行return false
。这将取消该事件。
这是您更新的代码
$(function () {
$('#container').highcharts({
chart: {},
xAxis: {
minPadding: 0.05,
maxPadding: 0.05
},
series: [{
data: [{
x: 0,
y: 29.9,
url: 'http://www.google.com',
clickable: true
}, {
x: 1,
y: 71.5,
url: 'http://www.yahoo.com',
clickable: false
}]
}],
plotOptions: {
series: {
cursor: 'pointer',
point: {
events: {
click: function () {
if(!this.options.clickable)
return false;
var url = this.options.url;
window.open(url);
}
}
},
}
},
});
});
答案 1 :(得分:2)
这可能是通过在创建后修改图表的属性(例如在回调中)。见post。你可以这样做:
$.each(chart.series[0].data,function(i,point){
if(point.options.cursorEnabled){
point.graphic.attr({
cursor:'pointer'
});
}
});