我正在使用S witchery JQuery plugin作为我的Phonegap应用交换机。当我加载视图时,我正在从window.localStorage
读取开关设置(真或假)(用它来保存/保存开关设置)。
加载视图时,我运行了一个代码,该代码从每个交换机的本地存储中读取数据,并使用以下代码(示例)在需要时将其打开:
$(".switchery:nth(1)").click();
这将打开第二个开关。
问题:
它适用于iOS7,但不适用于Android。当触发Android上的点击(在2.3.6上测试)时,它保持不变。我也试过.trigger('click')
但没有成功。
我的目标是使用本地存储中的持久数据填充正确的开关(打开或关闭),因此开关将设置为“开”或“关”。默认情况下,它们在视图中呈现时处于“关闭状态”。
答案 0 :(得分:0)
首先,您必须在初始化期间将所有开关存储在数组中
var elems = Array.prototype.slice.call(document.querySelectorAll('.js-switch'));
elems.forEach(function(html) {
switchery[html.getAttribute('id')] = new Switchery(html);
});
并创建一个本地函数来切换此开关
toggleSwitchery(id)
{
var s = switchery[id];
s.setPosition(true);
s.handleOnchange(true);
}
这对我有用。如果你遇到任何UI问题,即开关移动一些额外的像素,然后打开switchery.js并在 Switchery.prototype.setPosition 函数中将 jack.offsetWidth 替换为30