updates.html5rocks.com/2013/12/300ms-tap-delay-gon...
update:
Еще причиной может стать то, что вызов window.plugins.flashlight.* блокирует поток, то есть плагин работает в том же потоке что и webview и reflow/repaint не наступает пока window.plugins.flashlight не отпустит.
Попробуйте так:
var btn = document.getElementById('switch-button')
btn.onclick = function () {
if (btn.classList.contains('switch-button__on')) {
btn.classList.remove('switch-button__on');
setTimeout(function () {
window.plugins.flashlight.switchOff();
}, 0);
window.plugins.flashlight.switchOff();
} else {
btn.classList.add('switch-button__on');
setTimeout(function () {
window.plugins.flashlight.switchOn();
}, 0);
}
}