Advertisement
Guest User

Untitled

a guest
May 25th, 2015
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. "use strict"
  2.  
  3. normalize = ->
  4.  
  5. nomalizedEvents = ["start", "move", "end", "cancel"]
  6. touchEvents = ["touchstart", "touchmove", "touchend", "touchcancel"]
  7. MSPointerEvents = ["MSPointerDown", "MSPointerMove", "MSPointerUp", "MSPointerCancel"]
  8. pointerEvents = ["pointerdown", "pointermove", "pointerup", "pointercancel"]
  9. mouseEvents = ["mousedown", "mousemove", "mouseup", null]
  10.  
  11. if window.Modernizr and window.Modernizr.hasOwnProperty "touch"
  12. modernizrTouchDetect = window.Modernizr.touch
  13.  
  14. supportTouch = modernizrTouchDetect or (("ontouchstart" of window) or window.DocumentTouch and document instanceof DocumentTouch)
  15. supportMSPointer = window.navigator.msPointerEnabled and not window.navigator.pointerEnabled
  16. supportPointer = window.navigator.pointerEnabled
  17.  
  18. pointerType = ""
  19.  
  20. if supportPointer
  21. supportEvents = pointerEvents
  22. pointerType = "pointer"
  23. else if supportMSPointer
  24. supportEvents = MSPointerEvents
  25. pointerType = "mspointer"
  26. else if supportTouch
  27. supportEvents = touchEvents
  28. pointerType = "touch"
  29. else
  30. supportEvents = mouseEvents
  31. pointerType = "mouse"
  32.  
  33. eventType = {}
  34.  
  35. for type, idx in nomalizedEvents
  36. eventType[type] = supportEvents[idx]
  37.  
  38. eventType["type"] = pointerType
  39.  
  40. eventType
  41.  
  42. module.exports = normalize()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement