var pdfjsLib = window['pdfjs-dist/build/pdf'];
pdfjsLib.GlobalWorkerOptions.workerSrc = 'https://mozilla.github.io/pdf.js/build/pdf.worker.js';
var PDFRenderingInProgress = false
var pdfDoc = null
var canvas = document.getElementById('the-canvas')
var ctx = canvas.getContext('2d');
var container = document.getElementById("div-container")
var url = 'https://d3bxy9euw4e147.cloudfront.net/oscms-prodcms/media/documents/Physics-WEB_Sab7RrQ.pdf';
var wheelTimeoutHandler = null;
var wheelTimeout = 250 //ms
function renderPage(scale) {
pdfDoc.getPage(1).then(function(page) {
var viewport = page.getViewport({scale: scale});
canvas.height = viewport.height;
canvas.width = viewport.width;
var renderContext = {
canvasContext: ctx,
viewport: viewport
};
if (!PDFRenderingInProgress) {
PDFRenderingInProgress = true
var renderTask = page.render(renderContext);
renderTask.promise.then(function() {
PDFRenderingInProgress = false
})
}
});
}
function zoomWithWheel(event) {
panzoom.zoomWithWheel(event)
clearTimeout(wheelTimeoutHandler);
wheelTimeoutHandler = setTimeout(function() {
canvas.style.transform = "scale("+1/panzoom.getScale()+")"
if (pdfDoc)
renderPage(panzoom.getScale());
}, wheelTimeout)
}
pdfjsLib.getDocument(url).promise.then(function(pdfDoc_) {
pdfDoc = pdfDoc_;
renderPage(1);
});
var panzoom = Panzoom(container)
container.parentElement.addEventListener('wheel', zoomWithWheel)
function disable_scroll(){}
function enable_scroll(){}
#the-canvas {
direction: ltr;
transform-origin: top left;
}
#div-container {
width: 400px;
height: 400px;
}
<script src="https://mozilla.github.io/pdf.js/build/pdf.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@panzoom/panzoom@4.3.2/dist/panzoom.min.js"></script>
<button onclick="disable_scroll()">Disable Scroll Zoom</button>
<button onclick="enable_scroll()">Enable Scroll Zoom</button>
<div id="div-container">
<canvas id="the-canvas"></canvas>
</div>
上面是一个工作代码的HTML与Scroll Zoom Functionality使用的Wheel of Your Mouse,我可以知道如何启用和enable or disable the scroll of the mouse,以便PDF可以zoom 启用和禁用zoom ?
我试着调到remove the event listener to disable it,但不幸的是,它不起作用.我将非常感谢我能得到的任何帮助:)
button.removeEventListener(“click”, myFunction);