很长一段时间以来,我一直在尝试修复这个错误,并联系了我的几个朋友,但他们都被难住了。我有一个网站,但没有一个按钮在移动设备或 Safari 浏览器上可用(在移动设备上,当我点击按钮时:悬停动画播放)。我已经尝试了很多修复(将它们更改为标签、事件侦听器、tabindex、ontouchstart),但都没有用。该网站是实时的,如果需要我可以提供网址(但我不想看起来像我在宣传)这是一个按钮不起作用的示例 -html-<a href="javascript:void(0)" tabIndex="0" id="navWrap" onclick="openNav()" ontouchstart="openNav()"> <div class="navLine"></div> <div class="navLine" id="navMid"></div> <div class="navLine" id="navBottom"></div></a>-CSS-#navWrap{ position: absolute; top: 75px; right: 60px; transform: translate(0px, -50%); transition: 0.7s; font-size: 50px; cursor: pointer;}-javascript开启导航功能-function openNav() { document.getElementById("mySidenav").style.width = "100%";}-javascript 事件监听器-window.addEventListener('load', function(){ document.getElementById('navWrap').addEventListener('click', openNav); document.getElementsByClassName('closebtn')[0].addEventListener('click', closeNav); document.getElementById('Create').addEventListener('click', create); document.getElementById('TInput').addEventListener('click', MYfunctionTwo);});我在 html 文件的页脚中有指向 js 文件的链接。
2 回答
陪伴而非守候
TA贡献1757条经验 获得超8个赞
像这样绑定多个事件,希望对你有用。
// if supported touch, otherwise click event:
let clickOrTouchEvent = 'ontouchstart' in window ? 'touchstart' : 'click';
document.getElementById('navWrap').addEventListener(clickOrTouchEvent, openNav() );
Cats萌萌
TA贡献1805条经验 获得超9个赞
我修复了它,老实说我不确定为什么它不起作用,但经过长时间调试后我发现我出于某种原因声明(甚至没有调用)的函数导致所有 JavaScript 停止工作。该函数是一个 xmlHttpRequest,当我删除它时一切正常。这可能是一个错误(它在 chrome 上有效)但它可能是一个异步请求。希望这对遇到同样问题的人有用!
添加回答
举报
0/150
提交
取消