在jQuery / JS中使用PatternLock临时禁用

时间:2014-09-09 17:34:38

标签: javascript jquery javascript-events

我使用第三方库来模拟使用js和jQuery的3x3 android模式锁定屏幕。

回复:https://github.com/s-yadav/patternLock

模拟器:http://ignitersworld.com/lab/patternLock.html#intro

我想将disable()和enable()函数添加到PatternLock.prototype中,以便在例程运行时禁用用户绘制新模式的能力,以保存先前绘制的模式。因此,在例程结束并重新启用锁定之前,用户需要能够查看其模式,但不能绘制新模式。

最好的方法是什么?内置的事件处理程序是匿名函数,所以我回避使用.off()和.on()。添加课程" patt-hidden"仍然允许新模式在绘制后显示,而不是在绘制时。任何人都知道要去哪个方向,或者之前尝试过为此编写禁用方法?

2 个答案:

答案 0 :(得分:0)

这是不优雅的,但我能够通过向pattern.js添加一个全局布尔var disabled = false来破解它,它在PatternLock原型中的两个辅助函数enabled()和disable()中切换。然后在每个事件处理程序的开头运行一个检查,如果disabled===true退出,则退出。选择的最新模式保持可见,但锁定会抛出空单击事件,直到重新启用。

我很想听到更有效的解决方案。

答案 1 :(得分:0)

patternLock 0.4.0+现在在核心中有启用禁用方法。

要禁用/启用,您可以使用

var lock = patternLock('#patternHolder');
lock.disable();
lock.enable();