• Jquery手机点击其他地方隐藏控件问题


    因为不太懂mui的底部导航栏的操作,所以自己写了用很普通的方法实现手机底部导航栏,遇到了很多问题。比如:要实现点击底部菜单栏上某一个菜单,显示子菜单,然后点击手机空白处,隐藏菜单。

    实现方法是:

    //点击其他地方隐藏下拉菜单
    document.onclick = function(){ 
             
         $("#defaultTab_submenu").hide(); 
        $("#wgmenu_submenu").hide();
        $("#zcmenu_submenu").hide();
     }; 
    
    //点击菜单显示子菜单
    document.getElementById('defaultTab').addEventListener('touchstart',function(event){
    var e=window.event || event; if(e.stopPropagation){ e.stopPropagation(); }else{ e.cancelBubble = true; } event.preventDefault(); $("#defaultTab_submenu").show(); $("#wgmenu_submenu").hide(); $("#zcmenu_submenu").hide(); }, { passive: false });

    1、使用了mui的底部导航栏的样式,所以直接设置click事件的话不起作用,可以使用tap代替,但是使用tap来触发点击事件的时候有些手机还是没有用,所以直接使用touchstart来作为触发子菜单显示的事件。因为touchstart会冒泡,所以添加了阻止冒泡代码event.preventDefault();

    2、在整个界面添加了点击事件,所以在点击的时候需要event.stopPropagation() 方法阻止事件冒泡到父元素,阻止任何父事件处理程序被执行。

  • 相关阅读:
    用c写一个小的聊天室程序
    socket相关的开机初始化分析
    HTML——CSS3学习
    iOS--OCR图片识别
    iOS学习——Socket
    iOS学习——数据加密
    iOS学习——并发编程GCD
    iOS学习——weak的应用场景
    iOS学习——RUNLOOP、NSTimer
    iOS学习——锁
  • 原文地址:https://www.cnblogs.com/luo1240465012/p/9449582.html
Copyright © 2020-2023  润新知