wenju
wenju
  • 发布:2015-08-04 09:18
  • 更新:2018-02-13 14:39
  • 阅读:5797

layer点击关闭后,事件焦点会穿透到输入框,导致弹出软键盘

分类:MUI

点击layer里的列表关闭后,如果底下有输入框或者滑块,事件会穿透下去,弹出软键盘或者改变滑块
体验不好哇

测试工程,在附件,求大神解决~~(>_<)~~

2015-08-04 09:18 负责人:无 分享
已邀请:
DCloud_UNI_CHB

DCloud_UNI_CHB

mui中popover、actionsheet都会碰到类似问题,解决方案是:
关闭时,首先将遮罩层opacity设置为0,然后350毫秒后再真正移除遮罩。
mui代码如下:

var removeBackdrop = function(popover) {  
    backdrop.setAttribute('style', 'opacity:0');  
    $.targets.popover = $.targets._popover = null; //reset  
    setTimeout(function() {  
        if (!popover.classList.contains(CLASS_ACTIVE) && backdrop.parentNode && backdrop.parentNode === document.body) {  
            document.body.removeChild(backdrop);  
        }  
    }, 350);  
};
  • 苏禾然

    能添加个稍微完整点的代码吗

    2016-04-07 18:51

踩着单车载着猪

踩着单车载着猪

首先试试禁止事件冒泡,不行就延迟关闭列表
之前使用zepto的时候也会遇到这样的问题,最简单的解决方式是关闭的时候加个动画效果,超过300毫秒~~

  • wenju (作者)

    禁止事件冒泡这个无效 得延时才行 O(∩_∩)O谢谢

    2015-08-04 10:48

wenju

wenju (作者) - https://www.mescroll.com -- 精致的下拉刷新和上拉加载组件

正想来结贴 确实如楼上所说 得延时50毫秒
setTimeout(function () {
layer.closeAll();
},50);

1***@qq.com

1***@qq.com

这一段代码怎么加进去的,在测试过程中也遇到了这样的问题

该问题目前已经被锁定, 无法添加新回复