安卓手机微信自带浏览器点击事件失效解决

在移动端做了个导航,长这样

安卓手机微信自带浏览器点击事件失效解决

 原来结构是用的span

<span class="menu_icon">
        <img src="img/icon_1.png">
        <p>导航</p>
    </span>

绑定用的是jquery的.click

$(‘.menu_icon‘).click(function () {
    $("#nav-phone").stop().animate({right:"0"},500);
})
$(‘.close‘).click(function () {
    $("#nav-phone").stop().animate({right:"-50%"},500);
})

然后在移动端,手机自带浏览器都是正常的,但是通过微信自带浏览器打开时,苹果手机是正常的,部分安卓手机出现问题

导航出现失效情况,而且是有时失效,有时不失效

于是各种盲改,网上各种方法都试遍了,最后终于改好了

改了两处地方,不确定是哪一处生效了

1、首先是把span标签换成了a标签,据说是其他标签的点击事件兼容不太好啥的

<a class="menu_icon">
        <img src="img/icon_1.png">
        <p>导航</p>
    </a>

2、然后是把.click事件改成了 touchstart和click,毕竟在移动端貌似还是touch事件好一点……

$(‘.menu_icon‘).on("click touchstart",function () {

        $("#nav-phone").stop().animate({right:"0"},500);
    })
    $(‘.close‘).click(function () {
        $("#nav-phone").stop().animate({right:"-50%"},500);
    })

相关推荐