터치 이벤트는 모바일 브라우저 고유의 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

html5的div元素默认一行不可以放两个。div是一个块级元素,一个元素会独占一行,两个div默认无法在同一行显示;但可以通过给div元素添加“display:inline;”样式,将其转为行内元素,就可以实现多个div在同一行显示了。

html5中列表和表格的区别:1、表格主要是用于显示数据的,而列表主要是用于给数据进行布局;2、表格是使用table标签配合tr、td、th等标签进行定义的,列表是利用li标签配合ol、ul等标签进行定义的。

固定方法:1、使用header标签定义文档头部内容,并添加“position:fixed;top:0;”样式让其固定不动;2、使用footer标签定义尾部内容,并添加“position: fixed;bottom: 0;”样式让其固定不动。

html5中不支持的标签有:1、acronym,用于定义首字母缩写,可用abbr替代;2、basefont,可利用css样式替代;3、applet,可用object替代;4、dir,定义目录列表,可用ul替代;5、big,定义大号文本等等。

HTML5中画布标签是“<canvas>”。canvas标签用于图形的绘制,它只是一个矩形的图形容器,绘制图形必须通过脚本(通常是JavaScript)来完成;开发者可利用多种js方法来在canvas中绘制路径、盒、圆、字符以及添加图像等。

html5废弃了dir列表标签。dir标签被用来定义目录列表,一般和li标签配合使用,在dir标签对中通过li标签来设置列表项,语法“<dir><li>列表项值</li>...</dir>”。HTML5已经不支持dir,可使用ul标签取代。

3种取消方法:1、给td元素添加“border:none”无边框样式即可,语法“td{border:none}”。2、给td元素添加“border:0”样式,语法“td{border:0;}”,将td边框的宽度设置为0即可。3、给td元素添加“border:transparent”样式,语法“td{border:transparent;}”,将td边框的颜色设置为透明即可。

因为html5不基于SGML(标准通用置标语言),不需要对DTD进行引用,但是需要doctype来规范浏览器的行为,也即按照正常的方式来运行,因此html5只需要写doctype即可。“!DOCTYPE”是一种标准通用标记语言的文档类型声明,用于告诉浏览器编写页面所用的标记的版本。


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

Dreamweaver Mac版
시각적 웹 개발 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

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