рдореЛрдмрд╛рдЗрд▓ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕: рдЗрд╢рд╛рд░реЗ, рдЪреМрдЦрдЯреЗ, рд╕рдВрдЦреНрдпрд╛

рдореЛрдмрд╛рдЗрд▓ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдФрд░ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╡рд┐рд╖рдп рдХреЛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реБрдП, рдХреЛрдИ рднреА рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдбреЛрдо рдХреЛ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдЬреИрд╕реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдЬреИрд╕реЗ рд╡рд┐рд╖рдп рдкрд░ рд╕реНрдкрд░реНрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдбреЗрд╕реНрдХрдЯреЙрдк рдорд╛рдирдХ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ jQuery рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореЛрдмрд╛рдЗрд▓ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ jQuery рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рджреЛрд╕реНрдд рдмрдирд╛рддрд╛ рд╣реИред


jQuery рдФрд░ рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡рд╛рдЗрд╕ред


рдкрд╣рд▓реА jQuery рдХреА рд╕рдорд╕реНрдпрд╛ рддрд╛рдЪреА рд╣реИред рдХреНрд▓рд┐рдХ рдЗрд╡реЗрдВрдЯ рдХреЗ рд╕рд╛рде рдХреНрд▓рд┐рдХ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдореЛрдмрд╛рдЗрд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдХреНрд▓рд┐рдХ рдЗрд╡реЗрдВрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╣реИ, рд╣рдо рдЗрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдЪреНрдЪ рдХреАрдордд рдкрд░ред рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реНрдХреНрд░реАрди рдХреЛ рдЫреВрдиреЗ рдХреЗ рдмрд╛рдж 300ms рддрдХ рдИрд╡реЗрдВрдЯ рдХреЛ рдХреЙрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕реНрдХреНрд░реЙрд▓ рдпрд╛ рдбрдмрд▓ рдЯреИрдк рдпрд╛ рдХреБрдЫ рдФрд░ рд╣реИ рдФрд░ рдХреНрд▓рд┐рдХ рдИрд╡реЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдФрд░ рдпрд╣ рдорд╣рддреНрд╡рд╣реАрди рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреВрд╕рд░реЗ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ 300ms рдПрдХ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рджреЗрд░реА рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ред

рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк jQuery рд╕реИрдЯреЗрд▓рд╛рдЗрдЯ - jQuery рдореЛрдмрд╛рдЗрд▓ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд▓ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди jQuery Mobile рднреА рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЖрдХрд╛рд░ рдореЗрдВ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ, рдЬреИрд╕реЗ jQuery рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕реЗрд╡рд╛рдПрдБ рдЬреЛ рдЖрдкрдХреЛ jQuery рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдХрд╛рдЯрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВ, рдЗрд╕рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВред рджреВрд╕рд░рд╛ рдмрдбрд╝рд╛ рджреЛрд╖ рдЗрд╢рд╛рд░рд╛ рд╕рдорд░реНрдерди рдХреА рдХрдореА рд╣реИред

рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рдЗрд╢рд╛рд░реЗред


WebKit (iOS, Android) рдХрд╛ рдореЛрдмрд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдШрдЯрдирд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:

рддреЛ, svayp рдХреЛ рд╕реНрд╡рд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
var touchstartX = 0; var touchstartY = 0; var touchendX = 0; var touchendY = 0; var gesuredZone = document.getElementById('gesuredZone'); gesuredZone.addEventListener('touchstart', function(event) { touchstartX = event.screenX; touchstartY = event.screenY; }, false); gesuredZone.addEventListener('touchend', function(event) { touchendX = event.screenX; touchendY = event.screenY; handleGesure(); }, false); function handleGesure() { var swiped = 'swiped: '; if (touchendX < touchstartX) { alert(swiped + 'left!'); } if (touchendX > touchstartX) { alert(swiped + 'right!'); } if (touchendY < touchstartY) { alert(swiped + 'down!'); } if (touchendY > touchstartY) { alert(swiped + 'left!'); } if (touchendY == touchstartY) { alert('tap!'); } } 

рдПрдХ рдХрд╛рд░реНрдп рдЙрджрд╛рд╣рд░рдг:
http://jsfiddle.net/sagens/zNvtL/2/


рдЬреЗрд╕реНрдЪрд░ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдХрд╛рд░рдг, рдЖрдк jQuery рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╢рд╛рд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ

JQuery рдХреЗ рд╡рд┐рдХрд▓реНрдк


рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рд╕рд╛рдордиреЗ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
  1. рдбреЛрдо рд╣реЗрд░рдлреЗрд░
  2. рдЗрд╢рд╛рд░реЗ рд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛
  3. рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЕрдиреБрд░реЛрдз
  4. рдЫреЛрдЯрд╛ рдЖрдХрд╛рд░


рдлрд╝реНрд░реЗрдорд╡рд░реНрдХред


Quo.JS.





Zepto.JS






рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ


Hammer.js




рд╡рд┐рджреВрд╖рдХ



Thumbs.JS




Source: https://habr.com/ru/post/In178611/


All Articles