html5 ontouchstart,javascript - onclick and ontouchstart simultaneously - Stack Overflow

作者分享了如何在移动设备上避免因touchstart和onclick同时触发导致的事件混乱,通过移除onclick解决了移动端问题,但影响了桌面浏览器体验。寻求解决方案以在不同平台间平衡,不使用jQuery。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

I have an ontouchstart event triggered on my mobile view, its linked to this:

function mobileLinksShow() {

document.querySelector('.mobile-head-bar-links').classList.toggle('mobile-head-bar-links-transition');

}

On my device (iPhone 5) when I tap the button, it toggles it twice and so it extends then contracts. This is because of the onclick and ontouchstart firing at the same time. Removing the onclick solves the issue on mobile but now the desktop browser clearly doesnt work, is there a way to suppress onclick on mobile?

HTML:

CSS:

.mobile-head-bar-links {

height: 0;

overflow: hidden;

background-color: #F76845;

transition: .5s ease;

-webkit-transition: .5s ease;

}

.mobile-head-bar-links-transition {

height: 7em;

}

NB. I don't want to use jQuery.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值