在 Angular 9 中,我在我的 pdf 查看器中实现了鼠标滚动缩放。但是当我滚动时,它总是滚动到左上角。我希望它滚动鼠标指向的位置。请先看下图。在缩放时,垂直和水平滚动条分别粘在顶部和左侧。
我有以下代码。
const { docViewer } = instance;
const docContainer = instance.iframeWindow.document.querySelector('[data-element="documentContainer"]');
docContainer.addEventListener('wheel', onWheel, { passive: false });
function onWheel(e) {
e.preventDefault();
console.log("Zoom level - ", instance.getZoomLevel());
console.log("x - ", e.pageX , " y - ", e.pageY);
var newZoomFactor;
if (e.deltaY < 0) {
newZoomFactor = docViewer.getZoom() * 1.25;
} else if (e.deltaY > 0) {
newZoomFactor = docViewer.getZoom() * 0.8;
}
console.log("Zoom factor - ", newZoomFactor);
docViewer.zoomToMouse(newZoomFactor, e.pageX ,e.pageY);
}