php 在iPhone上,我必须点击两次,所以我继续下一页(链接)需要在单一标签

svdrlsy4  于 2023-05-27  发布在  PHP
关注(0)|答案(2)|浏览(114)

在我的网站上,我必须标签两次,然后任何链接都会打开,问题是在safari和chrome。我已应用解决方案:jQuery( '.pkg_book-btn-wrapper a' ).on('click touchend touchstart',function(e) { window.location = jQuery(this).attr("href"); e.preventDefault(); });但它只在一段时间内工作。打开链接时也不能滚动,URL如,www.xyz.com/#book-now有时滚动,但它会转到页脚和任何地方,但没有转到prefect id。请解决这个问题,我面对这个问题太久了。

s71maibg

s71maibg1#

虽然您所面临的问题没有很好地说明,但tap事件冲突很可能存在于您自己的代码中。看到这个answer,如果它会做出改变。它使用双击功能;

var mylatesttap;
function doubletap() {

var now = new Date().getTime();
var timesince = now - mylatesttap;
if((timesince < 600) && (timesince > 0)){

// double tap "You can maybe use preventdefault action from here"

}else{
        // too much time to be a doubletap
     }

mylatesttap = new Date().getTime();

}
qojgxg4l

qojgxg4l2#

一些移动的浏览器在第一次点击时仅注册触摸事件,而不是点击事件。您可以根据您的用例的需要修改它……

window.addEventListener('load', ()=>{
    let links = document.getElementsByTagName('a')
    for(let i=0; links[i]; i++) {
        // Converts a touch event to a click event
        links[i].addEventListener('touchend', (event)=>{
            event.target.click();
        })
    }
})

相关问题