터치 이벤트는 모바일 브라우저 고유의 HTML5 이벤트입니다. 클릭 이벤트는 PC 및 모바일 단말기에서 더 일반적이지만 모바일 단말기에서는 300ms 지연이 발생하며 이는 더블 클릭을 판단하는 데 영향을 미칩니다. 클릭 이벤트는 후속 작업이 발생하지 않도록 기본 대기 시간이 경과할 때까지 트리거되지 않기 때문입니다. 따라서 터치 이벤트 응답이 더 빠르고 경험이 더 좋습니다.
터치 이벤트 종류 :
터치 관련 상태 변화를 구별하기 위해 여러 유형의 터치 이벤트가 있습니다. 터치 이벤트의 <font face="NSimsun">TouchEvent.type</font>
속성을 검사하여 현재 이벤트 유형이 무엇인지 확인할 수 있습니다.
참고: 많은 경우 터치 이벤트와 마우스 이벤트가 동시에 발생합니다. (목적은 터치 장치에 최적화되지 않은 코드가 터치 시에도 정상적으로 작동하도록 허용하는 것입니다. 장치). 터치 이벤트를 사용하는 경우 <font face="NSimsun">event.preventDefault()</font>
을 호출하여 마우스 이벤트가 실행되는 것을 방지할 수 있습니다.
표준 터치 이벤트
터치스타트
<fontface>element</fontface>
의 대상은 다음의 대상 <fontface>element</fontface>
가 됩니다. 터치 위치 코드>터치무브
事件名称 | 描述 | 包含touches数组 |
touchstart |
当用户在触摸平面上放置了一个触点时触发。事件的目标 <font face="NSimsun">element</font> 将是触点位置上的那个目标 <font face="NSimsun">element</font>
|
是 |
touchmove |
当用户在触摸平面上移动触点时触发。 事件的目标 哪怕当 |
是 |
touchend |
当一个触点被用户从触摸平面上移除(当用户将一个手指离开触摸平面)时触发。 当触点移出触摸平面的边界时也将触发。例如用户将手指划出屏幕边缘。 已经被从触摸平面上移除的触点,可以在 |
是 |
touchenter |
当触点进入某个 <font face="NSimsun">element</font> 时触发。此事件没有冒泡过程。
|
是 |
touchleave |
当触点离开某个 <font face="NSimsun">element</font> 时触发。此事件没有冒泡过程。
|
是 |
touchcancel |
当触点由于某些原因被中断时触发。有几种可能的原因如下(具体的原因根据不同的设备和浏览器有所不同):
|
是 |
<font face="NSimsun">element</font>
의 대상은 이 <font face="NSimsun"> touchmove </font>
에 해당합니다. > 이벤트 <font face="NSimsun">touchstart 이벤트</font>
의 대상은 <font face="NSimsun">요소</font>와 동일합니다. 코드> ,
<code><fontface>touchmove</fontface>
이벤트가 발생하더라도 터치 포인트가 <fontface>요소 밖으로 이동했습니다. </fontface>
.
터치엔드
TouchList
에 정의된 changedTouches 속성에서 찾을 수 있습니다.
터치센터
<fontface>요소</fontface>
에 입력되면 트리거됩니다. 본 이벤트에는 버블링 과정이 없습니다. 터치리브
<fontface>요소</fontface>
를 떠날 때 시작됩니다. 본 이벤트에는 버블링 과정이 없습니다. 터치취소
- 이벤트로 인해 터치가 취소되었습니다. 예를 들어 모달 팝업 상자로 인해 터치 프로세스가 중단되었습니다.
- 터치 포인트는 문서 창을 떠나 브라우저의 인터페이스 요소, 플러그인 또는 기타 외부 콘텐츠 영역으로 들어갑니다.
- 사용자가 생성한 터치 포인트 수가 기기에서 지원하는 수를 초과하여
<fontface>TouchList에서 가장 빠른 <code><font> code> ="NSimsun">Touch</font>
개체가 취소됩니다.
터치 개체 속성
<fontface>Touch.identifier</fontface>
<fontface>Touch.screenX</fontface>
<fontface>Touch.screenY</fontface>
<fontface>Touch.clientX</fontface>
<fontface>Touch.clientY</fontface>
<fontface>Touch.pageX</fontface>
가로 방향
스크롤
offset, 이 값에는 가로 스크롤 오프셋
이 포함됩니다. 읽기 전용 속성.
<fontface>Touch.pageY</fontface>
<fontface>가로 스크롤 오프셋이 있는 경우 이 값에는 세로 스크롤 오프셋이 포함됩니다. </fontface>
. 읽기 전용 속성.
<fontface>Touch.radiusX</fontface>
<fontface>과 같습니다. screenX.</fontface>
읽기 전용 속성.
<code><fontface>Touch.force</fontface>
<code><fontface>Touch.radiusY</fontface>
<fontface>과 같습니다. screenY. </fontface>
읽기 전용 속성.
<code><code><fontface>Touch.target</fontface>
<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">문서</font>
개체.따라서 터치 프로세스 중에 제거될 수 있는 요소가 있는 경우 가장 좋은 방법은 터치 이벤트 리스너를 요소 자체에 바인딩하여 해당 요소가 부모 요소에서 제거되는 것을 방지하는 것입니다. 읽기 전용 속성입니다.
事件名称 | 描述(在触摸设备上) |
---|---|
MSPointerDown | 触摸开始 |
MSPointerMove | 接触点移动 |
MSPointerUp | 触摸结束 |
MSPointerOver | 触摸点移动到元素内,相当于mouseover |
MSPointerOut | 触摸点离开元素,相当于mouseout |
MSPointerEvent 속성
属性 | 描述 |
---|---|
hwTimestamp | 创建事件的时间(ms) |
isPrimary | 标识该指针是不是主指针 |
pointerId | 指针的唯一ID(类似于触摸事件的标识符) |
pointerType | 一个整数,标识了该事件来自鼠标、手写笔还是手指 |
pressure | 笔的压力,0-255,只有手写笔输入时才可用 |
rotation | 0-359的整数,光标的旋转度(如果支持的话) |
tiltX/tiltY | 手写笔的倾斜度,只有用手写笔输入时才支持 |
동등한 이벤트
鼠标 | 触摸 | 键盘 |
mousedown | touchstart | keydown |
mousemove | touchmove | keydown |
mouseup | touchend | keyup |
mouseover | focus |
분명히 터치 작업 순서: touchstart-touchmove-touchend와 마우스 순서: mousedown-mousemove-mouseup 및 키보드 순서: keydown-keypress-keyup은 세 가지 상호 작용 패턴이 모두 매우 유사하므로 이는 우연이 아닙니다. 시작-이동-정지로 설명할 수 있습니다.
그런데 클릭은 300ms의 지연을 두고 터치시작-터치이동-터치엔드 과정을 거쳐야 하므로 탭 이벤트가 필요한 것은 짧은 시간 동안 같은 지점을 터치한다는 의미입니다.
캡슐화된 탭 및 롱탭 이벤트
- (function() {
- var TOUCHSTART, TOUCHEND;
- if (typeof(window.ontouchstart) != '정의되지 않음') {
- 터치시작 = '터치시작';
- 터치END = '터치엔드';
- 터치MOVE='터치이동';
- } else if (typeof(window.onmspointerdown) != '정의되지 않음') {
- 터치시작 = 'MSPointerDown';
- 터치 = 'MSPointerUp';
- 터치MOVE='MSPointerMove';
- } 그밖에 {
- 터치시작 = '마우스다운';
- 터치 = '마우스업';
- 터치이동 = '마우스이동';
- }
- 기능 NodeTouch(노드) {
- this._node = node;
- }
- 함수 탭(노드,콜백,범위) {
- node.addEventListener(TOUCHSTART, function(e) {
- x = e.touches[0].pageX;
- y = e.touches[0].pageY;
- });
- node.addEventListener(TOUCHEND, function(e) {
- e.stopPropagation();
- e.preventDefault();
- var curx = e.changedTouches[0].pageX;
- var cury = e.changedTouches[0].pageY;
- if (Math.abs(curx - x) 6 && Math.abs(cury - y) 6) {
- callback.apply(범위, 인수);
- }
- });
- }
- 기능 longTap(노드,콜백,범위) {
- var x,y,startTime=0,endTime=0,in_dis=false;
- node.addEventListener(TOUCHSTART, function(e) {
- x = e.touches[0].pageX;
- y = e.touches[0].pageY;
- startTime=(new Date()).getTime();
- });
- node.addEventListener(TOUCHEND, function(e) {
- e.stopPropagation();
- e.preventDefault();
- var curx = e.changedTouches[0].pageX;
- var cury = e.changedTouches[0].pageY;
- if (Math.abs(curx - x) 6 && Math.abs(cury - y) 6) {
- in_dis=true;
- }그밖에{
- in_dis=false;
- }
- endTime=(new Date()).getTime();
- if (endTime - startTime > 300 && in_dis) {
- callback.apply(범위, 인수);
- }
- });
- }
- NodeTouch.prototype.on = 함수(evt, 콜백, 범위) {
- var scopeObj;
- var x,y;
- if (!scope) {
- scopeObj = 이._node;
- } 그밖에 {
- scopescopeObj = scope;
- }
- if (이벤트 === '탭') {
- tap(this._node,callback,scope);
- } else if(이벤트 === '길게 탭'){
- longTap(this._node,callback,scope);
- } 그밖에 {
- this._node.addEventListener(evt, function() {
- callback.apply(범위, 인수);
- });
- }
- 이것을 반환하세요.
- }
- window.$ = 함수(선택기) {
- var 노드 = 문서.querySelector(선택기);
- if (노드) {
- 새 NodeTouch(노드) 반환;
- } 그밖에 {
- null을 반환합니다.
- }
- }
- })();
- var box=$("#box");
- box.on("longtap",function(){
- console.log("你已经长按了");
- },상자)
http://www.cnblogs.com/hutuzhu/archive/2016/03/25/5315638.html

HTML의 H5 태그는 작은 타이틀 또는 하위 타이틀을 태그하는 데 사용되는 5 레벨 타이틀입니다. 1) H5 태그는 컨텐츠 계층을 개선하고 가독성과 SEO를 개선하는 데 도움이됩니다. 2) CSS와 결합하여 스타일을 사용자 정의하여 시각적 효과를 향상시킬 수 있습니다. 3) 학대를 피하고 논리적 컨텐츠 구조를 보장하기 위해 H5 태그를 합리적으로 사용하십시오.

HTML5에서 웹 사이트를 구축하는 방법에는 다음이 포함됩니다. 1. 의미 태그를 사용하여 웹 페이지 구조를 정의하는 등; 2. 멀티미디어 컨텐츠, 사용 및 태그를 포함; 3. 양식 검증 및 로컬 스토리지와 같은 고급 기능을 적용하십시오. 이 단계를 통해 명확한 구조와 풍부한 기능을 갖춘 최신 웹 페이지를 만들 수 있습니다.

합리적인 H5 코드 구조를 사용하면 페이지가 많은 컨텐츠 중에서 눈에 띄게 나타납니다. 1) 구조를 명확하게하기 위해 컨텐츠를 구성하려면 시맨틱 레이블 등을 사용하십시오. 2) Flexbox 또는 그리드와 같은 CSS 레이아웃을 통해 다른 장치에 대한 페이지의 렌더링 효과를 제어하십시오. 3) 반응 형 디자인을 구현하여 페이지가 다른 화면 크기에 맞게 조정되도록하십시오.

HTML5 (H5)와 이전 버전의 HTML의 주요 차이점은 다음과 같습니다. 1) H5는 시맨틱 태그를 소개하고, 2) 멀티미디어 컨텐츠를 지원하며 3) 오프라인 스토리지 기능을 제공합니다. H5는 새로운 태그 및 API (예 : 및 태그)를 통해 웹 페이지의 기능과 표현성을 향상시켜 사용자 경험 및 SEO 효과를 향상 시키지만 호환성 문제에주의를 기울여야합니다.

H5和HTML5的区别在于:1)HTML5是网页标准,定义结构和内容;2)H5是基于HTML5的移动网页应用,适用于快速开发和营销。

HTML5의 핵심 기능에는 시맨틱 태그, 멀티미디어 지원, 양식 향상, 오프라인 스토리지 및 로컬 스토리지가 포함됩니다. 1. 코드 가독성 및 SEO 효과 향상과 같은 시맨틱 태그. 2. 멀티미디어 지원은 미디어 컨텐츠 및 태그를 포함하는 프로세스를 단순화합니다. 3. 양식 향상은 새로운 입력 유형 및 검증 특성을 도입하여 양식 개발을 단순화합니다. 4. 오프라인 스토리지 및 로컬 스토리지는 ApplicationCache 및 LocalStorage를 통해 웹 페이지 성능 및 사용자 경험을 향상시킵니다.

html5isamajorrevisionof thehtml thatrevolutions webdevelopments and capabilitiess.1) itenhancescodereadabilitys 및 and .2) html5enablestriCher, Interactive Experiences, Withoutplugs를 허용합니다

H5에 대한 고급 팁에는 다음이 포함됩니다. 1. 복잡한 그래픽 사용, 2. 웹 워크를 사용하여 성능 향상, 3. WebStorage, 4. 응답 디자인 구현, 5. WebRTC를 사용하여 실시간 커뮤니케이션을 달성하기 위해, 6. 성능 최적화 및 모범 사례를 수행하십시오. 이 팁은 개발자가보다 역동적이고 대화식 및 효율적인 웹 응용 프로그램을 구축 할 수 있도록 도와줍니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)