web ts 的 type
浏览器 event
https://juejin.cn/post/7274626136327110708#heading-7
- MouseEvent<T = Element> 鼠标事件对象
- TouchEvent<T = Element> 触摸事件对象
- ChangeEvent<T = Element> Change 事件对象
- ClipboardEvent<T = Element> 剪贴板事件对象
- DragEvent<T = Element> 拖拽事件对象
- WheelEvent<T = Element> 滚轮事件对象
- AnimationEvent<T = Element> 动画事件对象
- TransitionEvent<T = Element> 过渡事件对象
dom
链接:https://juejin.cn/post/7005829389862567966
lib.dom.d.ts
html
<input type="text" @change="handleChange" />
<script>
const handleChange = (evt: Event) => {
console.log((evt.target as HTMLInputElement).value);
}
</script>js
// div
const div: HTMLDivElement = document.createElement("div");
// img
const img: HTMLImageElement = document.createElement("img");
// canvas
const canvas: HTMLCanvasElement = document.createElement("canvas");
const ctx: CanvasRenderingContext2D = canvas.getContext("2d");js
interface HTMLElementTagNameMap {
a: HTMLAnchorElement;
abbr: HTMLElement;
address: HTMLElement;
applet: HTMLAppletElement;
area: HTMLAreaElement;
article: HTMLElement;
aside: HTMLElement;
audio: HTMLAudioElement;
b: HTMLElement;
base: HTMLBaseElement;
basefont: HTMLBaseFontElement;
bdi: HTMLElement;
bdo: HTMLElement;
blockquote: HTMLQuoteElement;
body: HTMLBodyElement;
br: HTMLBRElement;
button: HTMLButtonElement;
canvas: HTMLCanvasElement;
caption: HTMLTableCaptionElement;
cite: HTMLElement;
code: HTMLElement;
col: HTMLTableColElement;
colgroup: HTMLTableColElement;
data: HTMLDataElement;
datalist: HTMLDataListElement;
dd: HTMLElement;
del: HTMLModElement;
details: HTMLDetailsElement;
dfn: HTMLElement;
dialog: HTMLDialogElement;
dir: HTMLDirectoryElement;
div: HTMLDivElement;
dl: HTMLDListElement;
dt: HTMLElement;
em: HTMLElement;
embed: HTMLEmbedElement;
fieldset: HTMLFieldSetElement;
figcaption: HTMLElement;
figure: HTMLElement;
font: HTMLFontElement;
footer: HTMLElement;
form: HTMLFormElement;
frame: HTMLFrameElement;
frameset: HTMLFrameSetElement;
h1: HTMLHeadingElement;
h2: HTMLHeadingElement;
h3: HTMLHeadingElement;
h4: HTMLHeadingElement;
h5: HTMLHeadingElement;
h6: HTMLHeadingElement;
head: HTMLHeadElement;
header: HTMLElement;
hgroup: HTMLElement;
hr: HTMLHRElement;
html: HTMLHtmlElement;
i: HTMLElement;
iframe: HTMLIFrameElement;
img: HTMLImageElement;
input: HTMLInputElement;
ins: HTMLModElement;
kbd: HTMLElement;
label: HTMLLabelElement;
legend: HTMLLegendElement;
li: HTMLLIElement;
link: HTMLLinkElement;
main: HTMLElement;
map: HTMLMapElement;
mark: HTMLElement;
marquee: HTMLMarqueeElement;
menu: HTMLMenuElement;
meta: HTMLMetaElement;
meter: HTMLMeterElement;
nav: HTMLElement;
noscript: HTMLElement;
object: HTMLObjectElement;
ol: HTMLOListElement;
optgroup: HTMLOptGroupElement;
option: HTMLOptionElement;
output: HTMLOutputElement;
p: HTMLParagraphElement;
param: HTMLParamElement;
picture: HTMLPictureElement;
pre: HTMLPreElement;
progress: HTMLProgressElement;
q: HTMLQuoteElement;
rp: HTMLElement;
rt: HTMLElement;
ruby: HTMLElement;
s: HTMLElement;
samp: HTMLElement;
script: HTMLScriptElement;
section: HTMLElement;
select: HTMLSelectElement;
slot: HTMLSlotElement;
small: HTMLElement;
source: HTMLSourceElement;
span: HTMLSpanElement;
strong: HTMLElement;
style: HTMLStyleElement;
sub: HTMLElement;
summary: HTMLElement;
sup: HTMLElement;
table: HTMLTableElement;
tbody: HTMLTableSectionElement;
td: HTMLTableDataCellElement;
template: HTMLTemplateElement;
textarea: HTMLTextAreaElement;
tfoot: HTMLTableSectionElement;
th: HTMLTableHeaderCellElement;
thead: HTMLTableSectionElement;
time: HTMLTimeElement;
title: HTMLTitleElement;
tr: HTMLTableRowElement;
track: HTMLTrackElement;
u: HTMLElement;
ul: HTMLUListElement;
var: HTMLElement;
video: HTMLVideoElement;
wbr: HTMLElement;
}https://juejin.cn/post/7274626136327110708
ts
interface GlobalEventHandlersEventMap {
abort: UIEvent;
animationcancel: AnimationEvent;
animationend: AnimationEvent;
animationiteration: AnimationEvent;
animationstart: AnimationEvent;
auxclick: MouseEvent;
beforeinput: InputEvent;
blur: FocusEvent;
cancel: Event;
canplay: Event;
canplaythrough: Event;
change: Event;
click: MouseEvent;
close: Event;
compositionend: CompositionEvent;
compositionstart: CompositionEvent;
compositionupdate: CompositionEvent;
contextmenu: MouseEvent;
copy: ClipboardEvent;
cuechange: Event;
cut: ClipboardEvent;
dblclick: MouseEvent;
drag: DragEvent;
dragend: DragEvent;
dragenter: DragEvent;
dragleave: DragEvent;
dragover: DragEvent;
dragstart: DragEvent;
drop: DragEvent;
durationchange: Event;
emptied: Event;
ended: Event;
error: ErrorEvent;
focus: FocusEvent;
focusin: FocusEvent;
focusout: FocusEvent;
formdata: FormDataEvent;
gotpointercapture: PointerEvent;
input: Event;
invalid: Event;
keydown: KeyboardEvent;
keypress: KeyboardEvent;
keyup: KeyboardEvent;
load: Event;
loadeddata: Event;
loadedmetadata: Event;
loadstart: Event;
lostpointercapture: PointerEvent;
mousedown: MouseEvent;
mouseenter: MouseEvent;
mouseleave: MouseEvent;
mousemove: MouseEvent;
mouseout: MouseEvent;
mouseover: MouseEvent;
mouseup: MouseEvent;
paste: ClipboardEvent;
pause: Event;
play: Event;
playing: Event;
pointercancel: PointerEvent;
pointerdown: PointerEvent;
pointerenter: PointerEvent;
pointerleave: PointerEvent;
pointermove: PointerEvent;
pointerout: PointerEvent;
pointerover: PointerEvent;
pointerup: PointerEvent;
progress: ProgressEvent;
ratechange: Event;
reset: Event;
resize: UIEvent;
scroll: Event;
scrollend: Event;
securitypolicyviolation: SecurityPolicyViolationEvent;
seeked: Event;
seeking: Event;
select: Event;
selectionchange: Event;
selectstart: Event;
slotchange: Event;
stalled: Event;
submit: SubmitEvent;
suspend: Event;
timeupdate: Event;
toggle: Event;
touchcancel: TouchEvent;
touchend: TouchEvent;
touchmove: TouchEvent;
touchstart: TouchEvent;
transitioncancel: TransitionEvent;
transitionend: TransitionEvent;
transitionrun: TransitionEvent;
transitionstart: TransitionEvent;
volumechange: Event;
waiting: Event;
webkitanimationend: Event;
webkitanimationiteration: Event;
webkitanimationstart: Event;
webkittransitionend: Event;
wheel: WheelEvent;
}