在某部测试机(vivo x5S L)上发现有时候手势密码控件不显示出来,需要点击locker对应的区域才能显示出来
chender
- 发布:2015-07-03 11:29
- 更新:2018-05-25 12:02
- 阅读:3194
关于手势密码有时候不显示的问题
分类:MUI
初始化locker之后,试试加上以下代码
canvas.style.display = 'none'; // Detach from DOM
canvas.offsetHeight; // Force the detach
canvas.style.display = 'inherit'; // Reattach to DOM 刚也遇到这个问题。
可以有两种解决方案。
-
显示调用,延迟渲染。
setTimeout(function(){ mui('.mui-locker').locker(); },800);缺点是延迟时间比较大,因为不同的终端性能不一样,延迟时间不好设置。
-
不使用 mui-locker 这个class,单独设置一个class,显示调用。如
mui('.gesture-locker').locker();
mui.locker.js中有自动渲染,是基于 mui-locker 的,如下
//自动处理 class='mui-locker' 的 dom
try {
$('.' lockerClassName).locker();
} catch (ex) {}
$.ready(function() {
$('.' lockerClassName).locker();
});
这个事件监听有问题。
因为$.ready并不是 canvas 父级,所以canvas绘制后没有渲染成功。


chender (作者)
加上了,还是会出现那种现象
2015-07-06 09:47
chender (作者)
应该不是canvas的问题,canvas是有显示出来的(我加了个背景色),但是里面那九个圆没有显示出来
2015-07-06 09:51