当页面实际上没有滚动时如何检测鼠标滚动(因为它太小了)
How to detect mouse scroll when the page doesn't actually scroll (because it's too small)
scroll
事件不捕捉鼠标"scroll"动作,而是捕捉页面滚动动作。
这意味着在太小而无法实际滚动的页面上,无法检测到用户的滚动动作(例如,将其转换为缩放动作)。
要明白我的意思,请比较以下两个:
https://jsfiddle.net/r8aykcut/1/
https://jsfiddle.net/r8aykcut/2/
有没有办法在页面本身不滚动的情况下监听鼠标滚动事件?
你可以使用这个监听器
addEventListener("wheel", anyFunctionYouWant );
你必须在你的哪个元素中设置这个监听器,你想缩放
例如,如果你有这样的东西
<div class="wraper">
<div>
<div id="ele" ></div>
</div>
</div>
为 .wraper 设置这个监听器,这是因为我认为你想要一些东西,比如放大 google 地图,如果你想要这个,你有功能,如果用户在你的地图上滚动,你的功能就会触发(对于缩放 in/out ),光标必须设置在你的那个元素上,有 Listener
我认为你可以使用 wheel 事件。
旋转定点设备(通常是鼠标)的滚轮按钮时会触发滚轮事件。
这是参考 link:
wheel event
您已添加滚动侦听器。当页面滚动时它会监听。你必须使用车轮监听器。
document.addEventListener("wheel", detect);
function detect (e) {
console.log(e)
};
以上代码适合您。
scroll
事件不捕捉鼠标"scroll"动作,而是捕捉页面滚动动作。
这意味着在太小而无法实际滚动的页面上,无法检测到用户的滚动动作(例如,将其转换为缩放动作)。
要明白我的意思,请比较以下两个:
https://jsfiddle.net/r8aykcut/1/
https://jsfiddle.net/r8aykcut/2/
有没有办法在页面本身不滚动的情况下监听鼠标滚动事件?
你可以使用这个监听器
addEventListener("wheel", anyFunctionYouWant );
你必须在你的哪个元素中设置这个监听器,你想缩放
例如,如果你有这样的东西
<div class="wraper">
<div>
<div id="ele" ></div>
</div>
</div>
为 .wraper 设置这个监听器,这是因为我认为你想要一些东西,比如放大 google 地图,如果你想要这个,你有功能,如果用户在你的地图上滚动,你的功能就会触发(对于缩放 in/out ),光标必须设置在你的那个元素上,有 Listener
我认为你可以使用 wheel 事件。 旋转定点设备(通常是鼠标)的滚轮按钮时会触发滚轮事件。 这是参考 link: wheel event
您已添加滚动侦听器。当页面滚动时它会监听。你必须使用车轮监听器。
document.addEventListener("wheel", detect);
function detect (e) {
console.log(e)
};
以上代码适合您。