Jadual Kandungan
touchstart
touchmove
touchend
touchenter
touchleave
touchcancel
Rumah hujung hadapan web Tutorial H5 Pengenalan kepada evolusi acara sentuh HTML5 ketik kemahiran tutorial event_html5

Pengenalan kepada evolusi acara sentuh HTML5 ketik kemahiran tutorial event_html5

May 16, 2016 pm 03:45 PM
html5 tap peristiwa sentuh

Acara sentuh ialah acara HTML5 yang unik untuk penyemak imbas mudah alih Walaupun acara klik lebih biasa pada PC dan terminal mudah alih, akan ada kelewatan 300ms pada terminal mudah alih, yang menjejaskan pengalaman pengguna. Kelewatan 300ms datang daripada menilai klik dua kali dan tekan lama, kerana hanya Peristiwa klik tidak akan dicetuskan sehingga masa menunggu lalai telah berlalu untuk memastikan tiada tindakan seterusnya berlaku. Jadi tindak balas acara sentuh lebih pantas dan pengalaman lebih baik.

Jenis acara sentuhan:

Untuk membezakan perubahan keadaan berkaitan sentuhan, terdapat berbilang jenis acara sentuhan. Anda boleh menentukan jenis acara semasa dengan memeriksa atribut <font face="NSimsun">TouchEvent.type</font> acara sentuh.

Nota: Dalam banyak kes, peristiwa sentuhan dan peristiwa tetikus akan dicetuskan pada masa yang sama (tujuannya adalah untuk membenarkan kod yang tidak dioptimumkan untuk peranti sentuh masih berfungsi seperti biasa semasa sentuhan peranti). Jika anda menggunakan acara sentuh, anda boleh memanggil <font face="NSimsun">event.preventDefault()</font> untuk mengelakkan peristiwa tetikus daripada dicetuskan.

Acara sentuhan standard

Nama acara Penerangan Mengandungi tatasusunan sentuhan

touchstart

Dicetuskan apabila pengguna meletakkan titik sentuh pada permukaan sentuh. Sasaran <font face="NSimsun">elemen</font> acara akan menjadi <font face="NSimsun">elemen</font> sasaran di kod lokasi sentuh> Ya

touchmove

事件名称 描述 包含touches数组

touchstart

当用户在触摸平面上放置了一个触点时触发。事件的目标 <font face="NSimsun">element</font> 将是触点位置上的那个目标 <font face="NSimsun">element</font>

touchmove

当用户在触摸平面上移动触点时触发。

事件的目标 <font face="NSimsun">element</font> 和这个<font face="NSimsun"> touchmove </font>事件对应的 <font face="NSimsun">touchstart 事件的目标</font> <font face="NSimsun">element</font> 相同,

哪怕当 <font face="NSimsun">touchmove</font> 事件触发时,触点已经移出了该 <font face="NSimsun">element</font> 。

touchend

当一个触点被用户从触摸平面上移除(当用户将一个手指离开触摸平面)时触发。

当触点移出触摸平面的边界时也将触发。例如用户将手指划出屏幕边缘。

已经被从触摸平面上移除的触点,可以在 changedTouches 属性定义的 TouchList 中找到。

touchenter

当触点进入某个 <font face="NSimsun">element</font> 时触发。此事件没有冒泡过程。

touchleave

当触点离开某个 <font face="NSimsun">element</font> 时触发。此事件没有冒泡过程。

touchcancel

当触点由于某些原因被中断时触发。有几种可能的原因如下(具体的原因根据不同的设备和浏览器有所不同):

  • 由于某个事件取消了触摸:例如触摸过程被一个模态的弹出框打断。
  • 触点离开了文档窗口,而进入了浏览器的界面元素、插件或者其他外部内容区域。
  • 当用户产生的触点个数超过了设备支持的个数,从而导致 <font face="NSimsun">TouchList</font> 中最早的 <font face="NSimsun">Touch</font> 对象被取消。
Dipecat apabila pengguna mengalihkan titik sentuhan pada permukaan sentuh. Sasaran acara <font face="NSimsun">elemen</font> sepadan dengan <font face="NSimsun"> touchmove </font>ini > acara Sasaran <font face="NSimsun">touchstart event</font> adalah sama dengan <font face="NSimsun">elemen</font> kod> , Walaupun apabila peristiwa <font face="NSimsun">touchmove</font> dicetuskan, titik sentuh telah dialih keluar daripada elemen <font face="NSimsun"> </font>.
Ya

touchend

Dipecat apabila titik sentuh dikeluarkan dari permukaan sentuh oleh pengguna (apabila pengguna mengangkat jari dari permukaan sentuh). Juga dicetuskan apabila sesentuh bergerak di luar sempadan satah sentuh. Sebagai contoh, pengguna menarik jari mereka keluar dari tepi skrin. Sentuhan yang telah dialih keluar daripada satah sentuh boleh didapati dalam atribut changedTouches yang ditakrifkan dalam TouchList . Ya

touchenter

Dicetuskan apabila kenalan memasuki <font face="NSimsun">elemen</font>. Acara ini tidak mempunyai proses menggelegak. Ya

touchleave

Dipecat apabila kenalan meninggalkan <font face="NSimsun">elemen</font>. Acara ini tidak mempunyai proses menggelegak. Ya

touchcancel

Dipecat apabila kenalan diganggu atas sebab tertentu. Terdapat beberapa sebab yang mungkin seperti berikut (sebab khusus berbeza mengikut peranti dan penyemak imbas):
  • Sentuhan telah dibatalkan disebabkan oleh peristiwa: contohnya, proses sentuhan telah diganggu oleh kotak pop timbul modal.
  • Titik sentuh meninggalkan tetingkap dokumen dan memasuki elemen antara muka penyemak imbas, pemalam atau kawasan kandungan luaran yang lain.
  • Apabila bilangan titik sentuh yang dijana oleh pengguna melebihi bilangan yang disokong oleh peranti, menghasilkan <font face="NSimsun">TouchList</font> code> ="NSimsun">Touch objek dibatalkan.
Ya

Sifat objek sentuh

).
<font face="NSimsun">Touch.identifier</font> Mengembalikan nilai yang secara unik mengenal pasti titik yang bersentuhan dengan satah sentuh Nilai ini kekal konsisten merentas semua peristiwa yang dicetuskan oleh jari ini (atau stylus, dsb.) sehingga ia meninggalkan satah sentuh.
<font face="NSimsun">Touch.screenX</font> Koordinat X titik sentuh berbanding dengan tepi kiri skrin Sifat baca sahaja.
<font face="NSimsun">Touch.screenY</font> Koordinat Y bagi titik sentuh berbanding dengan tepi atas skrin Sifat baca sahaja.
<font face="NSimsun">Touch.clientX</font> Koordinat X bagi titik sentuh berbanding dengan tepi kiri port pandangan yang boleh dilihat
<font face="NSimsun">Touch.clientY</font> Koordinat Y bagi titik sentuh berbanding tepi atas port pandangan yang boleh dilihat tidak termasuk sebarang pengimbangan tatal Sifat baca sahaja.
<font face="NSimsun">Touch.pageX</font> Koordinat X bagi titik sentuh berbanding dengan tepi kiri dokumen HTML Apabila terdapat mendatarscrollingoffset, Nilai ini mengandungi offset tatal mendatar</code.></font> <strong>Harta baca sahaja.</strong> </td> </tr> <tr> <td><code><font face="NSimsun">Touch.pageY</font> Koordinat Y bagi titik sentuh relatif kepada tepi atas dokumen HTML <font face="NSimsun">Apabila terdapat pengimbangan skrol mendatar, nilai ini termasuk pengimbangan skrol menegak</font> <strong>Atribut baca sahaja.</strong>
<font face="NSimsun">Touch.radiusX</font> Jejari paksi mendatar (paksi-X) elips terkecil yang boleh menutup permukaan sentuhan antara pengguna dan permukaan sentuh Unit nilai ini adalah sama dengan <font face="NSimsun"> screenX. </font>Atribut baca sahaja.
<code><font face="NSimsun">Touch.force</font> Jumlah tekanan yang ditekan oleh jari pada permukaan sentuh, nombor titik terapung daripada 0.0 (tiada tekanan) kepada 1.0 (tekanan maksimum Sifat baca sahaja.
<code><font face="NSimsun">Touch.radiusY</font> Jejari paksi menegak (paksi-Y) elips terkecil yang boleh menutup permukaan sentuhan antara pengguna dan permukaan sentuh Unit nilai ini adalah sama dengan <font face="NSimsun"> screenY. </font>Atribut baca sahaja.
<code><code><font face="NSimsun">Touch.target</font>
<font face="NSimsun">Touch.identifier</font> 返回一个可以唯一地识别和触摸平面接触的点的值. 这个值在这根手指(或触摸笔等)所引发的所有事件中保持一致, 直到它离开触摸平面.
<font face="NSimsun">Touch.screenX</font> 触点相对于屏幕左边沿的的X坐标. 只读属性.
<font face="NSimsun">Touch.screenY</font> 触点相对于屏幕上边沿的的Y坐标. 只读属性.
<font face="NSimsun">Touch.clientX</font> 触点相对于可见视区左边沿的的X坐标. 不包括任何滚动偏移. 只读属性.
<font face="NSimsun">Touch.clientY</font> 触点相对于可见视区上边沿的的Y坐标. 不包括任何滚动偏移. 只读属性.
<font face="NSimsun">Touch.pageX</font> 触点相对于HTML文档左边沿的的X坐标. 当存在水平滚动的偏移时, 这个值包含了水平滚动的偏移只读属性.
<font face="NSimsun">Touch.pageY</font> 触点相对于HTML文档上边沿的的Y坐标. <font face="NSimsun">当存在水平滚动的偏移时, 这个值包含了垂直滚动的偏移</font>只读属性.
<font face="NSimsun">Touch.radiusX</font> 能够包围用户和触摸平面的接触面的最小椭圆的水平轴(X轴)半径. 这个值的单位和<font face="NSimsun"> screenX 相同. </font>只读属性.
<code><font face="NSimsun">Touch.force</font> 手指挤压触摸平面的压力大小, 从0.0(没有压力)到1.0(最大压力)的浮点数. 只读属性.
<code><font face="NSimsun">Touch.radiusY</font> 能够包围用户和触摸平面的接触面的最小椭圆的垂直轴(Y轴)半径. 这个值的单位和<font face="NSimsun"> screenY 相同. </font>只读属性.
<code><code><font face="NSimsun">Touch.target</font>

当这个触点最开始被跟踪时(在 <font face="NSimsun">touchstart</font> 事件中), 触点位于的HTML元素. 哪怕在触点移动过程中, 触点的位置已经离开了这个元素的有效交互区域,

或者这个元素已经被从文档中移除. 需要注意的是, 如果这个元素在触摸过程中被移除, 这个事件仍然会指向它, 但是不会再冒泡这个事件到 <font face="NSimsun">window</font> 或 <font face="NSimsun">document</font> 对象.

因此, 如果有元素在触摸过程中可能被移除, 最佳实践是将触摸事件的监听器绑定到这个元素本身, 防止元素被移除后, 无法再从它的上一级元素上侦测到从该元素冒泡的事件. 只读属性.

Apabila titik sentuh ini pada mulanya dijejaki (dalam acara <font face="NSimsun">touchstart</font>), titik sentuh terletak dalam elemen HTML Walaupun sentuhan itu titik bergerak Semasa proses, kedudukan titik sentuh telah meninggalkan kawasan interaksi berkesan elemen ini,

Atau elemen ini telah dialih keluar daripada dokumen Perlu diingat bahawa jika elemen ini dialih keluar semasa proses sentuhan, acara ini akan tetap menghalakannya, tetapi acara ini tidak lagi akan menggelembung ke tetingkap atau objek <font face="NSimsun">dokumen</font>.

Oleh itu, jika terdapat elemen yang mungkin dialih keluar semasa proses sentuhan, amalan terbaik ialah mengikat pendengar peristiwa sentuhan kepada elemen itu sendiri untuk mengelakkan elemen itu daripada dialih keluar daripada elemen induknya Satu peristiwa telah dikesan menggelegak daripada elemen ini. Atribut baca sahaja.

IE指针事件
事件名称 描述(在触摸设备上)
MSPointerDown 触摸开始
MSPointerMove 接触点移动
MSPointerUp 触摸结束
MSPointerOver 触摸点移动到元素内,相当于mouseover
MSPointerOut 触摸点离开元素,相当于mouseout
Acara sentuh dalam IE10

Harta MSPointerEvent

属性 描述
hwTimestamp 创建事件的时间(ms)
isPrimary 标识该指针是不是主指针
pointerId 指针的唯一ID(类似于触摸事件的标识符)
pointerType 一个整数,标识了该事件来自鼠标、手写笔还是手指
pressure 笔的压力,0-255,只有手写笔输入时才可用
rotation 0-359的整数,光标的旋转度(如果支持的话)
tiltX/tiltY 手写笔的倾斜度,只有用手写笔输入时才支持

Acara yang setara

鼠标 触摸 键盘
mousedown touchstart keydown
mousemove touchmove keydown
mouseup touchend keyup
mouseover   focus

Jelas sekali, urutan tindakan sentuh: touchstart-touchmove-touchend dan jujukan tetikus: mousedown-mousemove-mouseup dan urutan papan kekunci: keydown-keypress-keyup adalah sangat serupa. Ini bukan kebetulan, kerana ketiga-tiga corak interaksi boleh diterangkan untuk mula-gerak-henti.

Setelah berkata demikian, klik perlu melalui proses touchstart-touchmove-touchend, dengan kelewatan 300ms, jadi acara ketik diperlukan Ketik bermakna menyentuh titik yang sama untuk masa yang singkat.

Acara ketik dan ketik panjang yang dirangkumkan

Kod XML/HTMLSalin kandungan ke papan keratan
  1. (fungsi() {    
  2.     var SENTUH MULA, SENTUH;    
  3.     jika (typeof(window.ontouchstart) != 'undefined') {    
  4.         SENTUH MULA = 'sentuh mula';    
  5.         SENTUHAN = 'sentuh';    
  6.         TOUCHMOVE='touchmove';    
  7.      
  8.     } lain jika (typeof(window.onmspointerdown) != 'undefined') {    
  9.         SENTUH MULA = 'MSPointerDown';    
  10.         SENTUHAN = 'MSPointerUp';    
  11.         TOUCHMOVE='MSPointerMove';    
  12.     } lain {    
  13.         SENTUH MULA = 'turun tetikus';    
  14.         SENTUHAN = 'mouseup';    
  15.         TOUCHMOVE = 'mouseemove';    
  16.     }    
  17.     fungsi NodeTouch(nod) {    
  18.         ni._nod = nod;    
  19.     }    
  20.     fungsi ketik(nod,panggilan balik,skop) {    
  21.         node.addEventListener(TOUCHSTART, fungsi(e) {    
  22.              x = e.sentuhan[0].pageX;    
  23.              y = e.touches[0].pageY;    
  24.         });    
  25.         node.addEventListener(TOUCHEND, fungsi(e) {    
  26.             e.stopPropagation();    
  27.             e.preventDefault();    
  28.              var curx = e.changedTouches[0].pageX;    
  29.              var cury = e.changedTouches[0].pageY;    
  30.             jika (Math.abs(curx - x) < 6 && Math.ab y) < 6) {    
  31.                 panggilan balik.apply(skop, hujah);    
  32.             }    
  33.         });    
  34.     }    
  35.     fungsi longTap(nod, panggil balik, skop) {    
  36.         var x,y,Masa mula=0,Masa tamat=0,in_dis=palsu;    
  37.         node.addEventListener(TOUCHSTART, fungsi(e) {    
  38.              x = e.sentuhan[0].pageX;    
  39.              y = e.touches[0].pageY;    
  40.             Masa mula=(Tarikh baru()).getTime();    
  41.         });    
  42.         node.addEventListener(TOUCHEND, fungsi(e) {    
  43.             e.stopPropagation();    
  44.             e.preventDefault();    
  45.              var curx = e.changedTouches[0].pageX;    
  46.              var cury = e.changedTouches[0].pageY;    
  47.             jika (Math.abs(curx - x) < 6 && Math.ab y) < 6) {    
  48.                 in_dis=benar;    
  49.             }lain{    
  50.                 in_dis=salah;    
  51.             }    
  52.             Masa tamat=(Tarikh baru()).getTime();    
  53.             jika (masa tamat - masa mula > 300 && dalam_dis) {    
  54.                 panggilan balik.apply(skop, hujah);    
  55.             }    
  56.         });    
  57.     }    
  58.     NodeTouch.prototype.on = fungsi(evt, panggilan balik, skop) {    
  59.         var skopObj;    
  60.         var x,y;    
  61.         jika (!skop) {    
  62.             skopObj = ini._nod;    
  63.         } lain {    
  64.              skopskopObj = skop;    
  65.         }    
  66.         jika (evt === 'ketik') {    
  67.             ketik (nod._ini, panggil balik, skop);    
  68.         } else if(evt === 'longtap'){    
  69.             longTap(this._node, panggil balik, skop);    
  70.         } lain {    
  71.             ini._node.addEventListener(evt, function() {    
  72.                 panggilan balik.apply(skop, hujah);    
  73.             });    
  74.         }    
  75.         kembali ini;    
  76.     }    
  77.     tetingkap.$ = fungsi(pemilih) {    
  78.         var nod = dokumen.querySelector(selector);    
  79.         jika (nod) {    
  80.             kembali baru NodeTouch(nod);    
  81.         } lain {    
  82.             pulangan null;    
  83.         }    
  84.     }    
  85. })();    
  86. var kotak=$("#kotak");    
  87. box.on("longtap",function(){    
  88.     console.log("你已经长按了");    
  89. },kotak)  

以上这篇HTML5触摸事件演化tap事件介绍就是小编分享给大家的全部内容了的全部内容了。考,也希望大家多多支持脚本之家。

原文地址:http://www.cnblogs.com/hutuzhu/archive/2016/03/25/5315638.html

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Sempadan Jadual dalam HTML Sempadan Jadual dalam HTML Sep 04, 2024 pm 04:49 PM

Panduan untuk Sempadan Jadual dalam HTML. Di sini kita membincangkan pelbagai cara untuk menentukan sempadan jadual dengan contoh Sempadan Jadual dalam HTML.

Jadual Bersarang dalam HTML Jadual Bersarang dalam HTML Sep 04, 2024 pm 04:49 PM

Ini ialah panduan untuk Nested Table dalam HTML. Di sini kita membincangkan cara membuat jadual dalam jadual bersama-sama dengan contoh masing-masing.

HTML jidar-kiri HTML jidar-kiri Sep 04, 2024 pm 04:48 PM

Panduan untuk HTML margin-kiri. Di sini kita membincangkan gambaran keseluruhan ringkas tentang HTML margin-left dan Contoh-contohnya bersama-sama dengan Pelaksanaan Kodnya.

Susun Atur Jadual HTML Susun Atur Jadual HTML Sep 04, 2024 pm 04:54 PM

Panduan untuk Susun Atur Jadual HTML. Di sini kita membincangkan Nilai Susun Atur Jadual HTML bersama-sama dengan contoh dan output n perincian.

Memindahkan Teks dalam HTML Memindahkan Teks dalam HTML Sep 04, 2024 pm 04:45 PM

Panduan untuk Memindahkan Teks dalam HTML. Di sini kita membincangkan pengenalan, cara teg marquee berfungsi dengan sintaks dan contoh untuk dilaksanakan.

Senarai Tertib HTML Senarai Tertib HTML Sep 04, 2024 pm 04:43 PM

Panduan kepada Senarai Tertib HTML. Di sini kami juga membincangkan pengenalan senarai dan jenis Tertib HTML bersama-sama dengan contoh mereka masing-masing

Butang onclick HTML Butang onclick HTML Sep 04, 2024 pm 04:49 PM

Panduan untuk Butang onclick HTML. Di sini kita membincangkan pengenalan, kerja, contoh dan onclick Event masing-masing dalam pelbagai acara.

Pemegang Tempat Input HTML Pemegang Tempat Input HTML Sep 04, 2024 pm 04:54 PM

Panduan untuk Pemegang Tempat Input HTML. Di sini kita membincangkan Contoh Pemegang Tempat Input HTML bersama-sama dengan kod dan output.

See all articles