您好,我在节点中的tooltip设置triggerOn为‘click’,然后在后边捕捉鼠标事件,在mousedown后 捕捉mouseup,想在一定的逻辑后 用off函数解除mouseup的事件绑定,使节点click不生效,现在的问题是,做了off之后,click依然起作用,也就是说我没有off掉mouseup,请问是那里的问题?
配置项如下
var hasMove = false; //全局标识,初始化标识元素没有发生mousemove
myChart.on('mousedown', function (params) {
hasMove = false;
});
myChart.on('mouseup', function (params) {
if (hasMove){
console.log("移动后鼠标松开事件,拖拽分支");
myChart.off('mouseup');
}else{
console.log("没有移动鼠标松开事件,点击分支");
}
hasMove=false; //还原标识,以便下一次使用
});
myChart.on('mousemove', function (params) {
if (params.seriesType === 'graph'){
// 点击到了 graph 上
if (params.dataType === 'node') {
//点击到了节点上();
}
else if (params.dataType !== 'node') {
hideTooltip();
}
else {
hideTooltip();
}
}else{
hideTooltip();
}
hasMove = true; //元素移动事件中跟新标识为true,表示有发生移动
});
function showTooltip() {
myChart.dispatchAction({
type: 'showTip',
x : 800,
y : 500,
// seriesIndex:0,
// dataIndex:0,
position: function (point, params, dom, rect, size) {
$(dom).html(html_toptip);
dynamicLoading.js("js/theme.js");
return;
}
});
ifDrag = false;
ifToolTip = true;
}
function hideTooltip() {
myChart.dispatchAction({
type: 'hideTip'
});
}