WordPress搭配Divi搭建的网站鼠标滚轮缩放功能失效求助
故障排查解决思路
该故障的核心是Ctrl+滚轮缩放的浏览器默认行为被JS或者CSS规则拦截,Ctrl+/Ctrl-可正常使用说明没有禁用浏览器全局缩放权限,按以下顺序排查即可:
- 优先排查Divi主题内置设置
进入WordPress后台,依次点击【Divi】→【主题选项】→【集成】选项卡,拉到页面底部的「自定义代码」区块,检查是否有全局插入的JS代码包含阻止滚轮事件的逻辑,比如存在类似wheel、mousewheel事件监听,且调用了preventDefault()的代码,尤其注意判断了Ctrl键按下的分支。另外检查Divi的【主题生成器】全局模板、当前页面的Divi编辑器自定义代码模块,是否有页面级的JS拦截了滚轮事件。 - 排查插件冲突
先临时禁用所有非Divi官方的第三方插件,刷新页面试试Ctrl+滚轮是否恢复正常,如果恢复就逐个启用插件定位出冲突插件。重点排查有页面滚动控制、视差效果、鼠标交互增强类的插件,这类插件最容易劫持滚轮事件。 - 检查浏览器视口元配置
进入WordPress后台,打开【外观】→【主题文件编辑器】,找到当前子主题的header.php文件,检查<meta name="viewport">标签的配置,确认没有加user-scalable=no或者maximum-scale=1.0这类限制缩放的属性,如果有直接删除即可(注意如果是父主题的header.php不要直接改,要复制到子主题后修改)。 - 排查CSS规则限制
打开浏览器开发者工具(F12),在元素面板搜索touch-action属性,如果全站或者body/html标签设置了touch-action: pan-x pan-y之类的规则,去掉pinch-zoom相关的限制即可。 - 兜底临时修复方案
如果排查不到具体来源,可以在Divi主题选项的自定义JS区块插入以下代码强制恢复Ctrl+滚轮缩放行为:
document.addEventListener('wheel', function(e) { if (e.ctrlKey) { e.stopImmediatePropagation(); } }, { passive: false, capture: true });
内容的提问来源于stack exchange,提问作者Yıldırım Hakan Savcı
相关产品推荐
相关产品推荐

