Переключатель Switchery вручную - не работает на PhoneGap / Android

0

Я использую S witchery JQuery-плагин для моих переключателей приложений Phonegap. Когда я загружаю представление, я читаю настройки переключателей (true или false) из window.localStorage (используйте его для сохранения/сохранения настроек переключателей).

Когда представление загружено, я запускал код, который считывает данные из локального хранилища для каждого коммутатора и использует следующий код (пример) для его включения, если необходимо:

$(".switchery:nth(1)").click();

Это включит второй переключатель.

Проблема:

Он отлично работает на iOS7, но не на Android. При запуске нажатия на Android (проверено на 2.3.6), он остается неизменным. Я также пробовал .trigger('click') без успеха.

Моя цель - заполнить правильные переключатели (вкл. Или выкл.), Используя постоянные данные в локальном хранилище, поэтому переключатели будут установлены на "on" или "off". По умолчанию они "выключены" при визуализации в представлении.

Теги:
checkbox
cordova

1 ответ

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);
}

Это сработало для меня. В случае, если вы сталкиваетесь с какой-либо проблемой пользовательского интерфейса, т.е. переключатель перемещает некоторые дополнительные пиксели, тогда откройте switchery.js и замените jack.offsetWidth на 30 в функции Switchery.prototype.setPosition

Ещё вопросы

Сообщество Overcoder
Наверх
Меню