jQuery Mobile с событием touchmove
Я пытаюсь управлять переключателем Basic, как показано в следующей документации:
http://demos.jquerymobile.com/1.4.5/flipswitch/
Мой код:
HTML
<div class="ui-flipswitch ui-shadow-inset ui-bar-inherit ui-corner-all ui-mini">
<a href="#" class="ui-flipswitch-on ui-btn ui-shadow ui-btn-inherit">On</a>
<span class="ui-flipswitch-off">Off</span>
<select data-role="flipswitch" data-mini="true"
name="login-memo-codice-inpt" id="login-memo-codice-inpt" class="ui-
flipswitch-input" tabindex="-1" disabled="">
<option value="off">Off</option>
<option value="on">On</option>
</select>
</div>
JAVASCRIPT
inputManager.my_slider=function(page){
var enableTap=false;
var executed=false;
var flipswitch=page.find(".ui-flipswitch");
flipswitch.on("touchstart",function(e){
enableTap=true;
executed=false;
});
flipswitch.on("tap",function(){
if(executed){
return false;
}
});
flipswitch.on("touchmove",function(e){
if(enableTap){
enableTap=false;
$(this).trigger("click");
executed=true;
}
});
flipswitch.on("touchend",function(e){
enableTap=false;
});
page.find(".ui-flipswitch-input").prop("disabled",true);
page.find(".ui-flipswitch-input").on("touchstart focus",function(event){
event.preventDefault();
$(this).blur();
return false;
});
if(libs.check_current_device().ieMobile){
flipswitch.on("mousedown",function(e){
$(this).trigger("click");
});
}
};
Это работает, когда я проведу пальцем слева (ON) вправо (OFF) или справа (OFF) влево (ON).
Мои проблемы:
- если я держу палец на ВКЛ, а затем проведу пальцем вправо (ВЫКЛ), состояние перейдет в состояние ВЫКЛ, а затем сразу же вернется в положение ВКЛ;
- если я держу палец на ВЫКЛ, а затем проведу пальцем влево (ВКЛ), состояние перейдет в состояние ВКЛ, а затем сразу же вернется в положение ВЫКЛ.
Как решить это?