I have a page on iPad and am facing some issues implementing an equivalent of mouseout behavior.
So I have:
- On my page, there is a checkbox on click (or rather touch), I want to show an errorMsg
- On click/touch on anything other than the errorMsg, I want to hide the errorMsg
Below is the code I have written;
$(document).bind("touchstart",function(e){
if(e.target.id != "checkbox_err")
$("span#checkbox_err").fadeOut("slow");
});
}
$("input:checkbox").bind("touchstart",function(){
$("span#checkbox_err").fadeIn("fast");
});
Now the issue is when I click/touch on the checkbox, the errorMsg shows for a while and then it also hides it immediately (since target is not the errorMsg)
How do I fix this issue?
I have a page on iPad and am facing some issues implementing an equivalent of mouseout behavior.
So I have:
- On my page, there is a checkbox on click (or rather touch), I want to show an errorMsg
- On click/touch on anything other than the errorMsg, I want to hide the errorMsg
Below is the code I have written;
$(document).bind("touchstart",function(e){
if(e.target.id != "checkbox_err")
$("span#checkbox_err").fadeOut("slow");
});
}
$("input:checkbox").bind("touchstart",function(){
$("span#checkbox_err").fadeIn("fast");
});
Now the issue is when I click/touch on the checkbox, the errorMsg shows for a while and then it also hides it immediately (since target is not the errorMsg)
How do I fix this issue?
Share Improve this question edited Aug 10, 2011 at 19:26 joelittlejohn 11.8k2 gold badges42 silver badges54 bronze badges asked Aug 10, 2011 at 11:52 DianaDiana 4351 gold badge11 silver badges19 bronze badges4 Answers
Reset to default 1As I know there is no need to implement touch events to achieve what you want. You can use mon click event. It will be emulated by the browser of the device.
Sounds like a ghost click, have a read here http://code.google./mobile/articles/fast_buttons.html
Try this js fiddle code.It works in all major browsers and all touch devices at time..
http://jsfiddle/vecny/
Just use the change event instead of the touchstart. It should be working in a desktop browser and a touch browser too.