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

时间:2020-02-13 23:00:00 来源:互联网 作者: 神秘的大神 字体:

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

 

 原来结构是用的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);
    })