Skip to content

Instantly share code, notes, and snippets.

@rickyc
Created July 14, 2010 20:58
Show Gist options
  • Save rickyc/476059 to your computer and use it in GitHub Desktop.
Save rickyc/476059 to your computer and use it in GitHub Desktop.
// Sample Code From http://rossboucher.com/2008/08/19/iphone-touch-events-in-javascript/
// Modified the code to work with jQuery UI Slider for iPhone / iPad Mobile Safari
function touchHandler(event) {
var touches = event.changedTouches, first = touches[0], type = "";
switch(event.type) {
case "touchstart" : type = "mousedown"; break
case "touchmove" : type = "mousemove"; break;
case "touchend" : type = "mouseup"; break;
case "touchcancel": type = "mouseup"; break;
default: return;
}
var simulatedEvent = document.createEvent("MouseEvent");
simulatedEvent.initMouseEvent(type, true, true, window, 1,
first.screenX, first.screenY,
first.clientX, first.clientY, false,
false, false, false, 0, null);
first.target.dispatchEvent(simulatedEvent);
// *** Change this to the slider element
if ($(first.target).hasClass(".ui-slider")) {
event.preventDefault();
}
// alternative if using an id
// if (first.target.id == "slider") event.preventDefault();
}
function init() {
document.addEventListener("touchstart", touchHandler, true);
document.addEventListener("touchmove", touchHandler, true);
document.addEventListener("touchend", touchHandler, true);
document.addEventListener("touchcancel", touchHandler, true);
}
$(document).ready(function{
init();
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment