我需要在 highcharts 垂直滚动条中添加鼠标滚轮。我在这个 fiddle http://jsfiddle.net/d3r8pb7c/ 中得到了代码但该代码是用 jQuery 格式编写的。当我尝试通过以下方式在 typescript 中添加代码时,鼠标滚轮不起作用。
this.options = {
chart: {
events: {
wheel: function (event) {
var delta, extr, step, newMin, newMax, axis = this.xAxis[0];
var dataMax = this.xAxis[0].dataMax,
dataMin = this.xAxis[0].dataMin,
newExtrMin,
newExtrMax;
e = this.pointer.normalize(event);
delta = e.detail || -(e.deltaY / 120);
delta = delta < 0 ? 1 : -1;
if (this.isInsidePlot(e.chartX - this.plotLeft, e.chartY - this.plotTop)) {
extr = axis.getExtremes();
step = (extr.max - extr.min) / 5 * delta;
if ((extr.min + step) <= dataMin) {
newExtrMin = dataMin;
newExtrMax = extr.max;
} else if ((extr.max + step) >= dataMax) {
newExtrMin = extr.min;
newExtrMax = dataMax;
} else {
newExtrMin = extr.min + step;
newExtrMax = extr.max + step;
}
axis.setExtremes(newExtrMin, newExtrMax, true, false);
}
stopEvent(event); // Issue #5011, returning false from non-jQuery event does not prevent default
return false;
},
}
},
如果有人在 Highcharts angular2 typescript 中添加鼠标滚轮事件,请帮助我。
最佳答案
首先,代码不依赖于jQuery,所以不需要导入。
我尝试通过创建新模块并将其导入组件文件中来包含附加的 JSFiddle 中的代码。实际上,我不知道你做错了什么,但我的例子运行良好。
import Stock from 'highcharts/modules/stock';
import Wheel from '../plugins/wheel-event'
Stock(Highcharts)
Wheel(Highcharts)
实例: https://stackblitz.com/edit/highcharts-cloning-chart-s7kztw
关于angular - 如何在 typescript 的 Angular2 Highcharts 中添加鼠标滚轮代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52847691/