很长时间以来,我一直在尝试修复此错误,并联系了我的几个朋友,他们都陷入了困境。我有一个网站,并且所有按钮都无法在移动设备或野生动物园中使用(在移动设备上,当我点击按钮时,:hover动画会播放)。我尝试了许多修复程序(将它们更改为标签,事件监听器,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打开Nav功能-
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文件的链接。
答案 0 :(得分:0)
像这样绑定多个事件,希望它对您有用。
// if supported touch, otherwise click event:
let clickOrTouchEvent = 'ontouchstart' in window ? 'touchstart' : 'click';
document.getElementById('navWrap').addEventListener(clickOrTouchEvent, openNav() );
答案 1 :(得分:0)
我修复了它,并且我真的不确定为什么它不起作用,但是经过长时间的调试后,我发现由于某种原因我声明(甚至没有调用)的函数导致所有JavaScript停止工作。该函数是一个xmlHttpRequest,当我删除它时,一切正常。这可能是一个错误(适用于chrome),但它是一个异步请求,所以也许可以。希望这对有相同问题的任何人都有用!