事件系統(tǒng)

2019-08-14 14:29 更新

合成事件

事件處理程序通過 合成事件SyntheticEvent)的實例傳遞,SyntheticEvent 是瀏覽器原生事件跨瀏覽器的封裝。SyntheticEvent 和瀏覽器原生事件一樣有 stopPropagation()、preventDefault() 接口,而且這些接口夸瀏覽器兼容。

如果出于某些原因想使用瀏覽器原生事件,可以使用 nativeEvent 屬性獲取。每個和成事件(SyntheticEvent)對象都有以下屬性:

boolean bubblesboolean cancelable
DOMEventTarget currentTargetboolean defaultPrevented
Number eventPhaseboolean isTrusted
DOMEvent nativeEventvoid preventDefault()void stopPropagation()DOMEventTarget target
Date timeStamp
String type

注意:

React v0.12 中,事件處理程序返回 false 不再停止事件傳播,取而代之,應(yīng)該根據(jù)需要手動觸發(fā)e.stopPropagation() 或 e.preventDefault()

支持的事件

React 將事件統(tǒng)一化,使事件在不同瀏覽器上有一致的屬性。

下面的事件處理程序在事件冒泡階段被觸發(fā)。如果要注冊事件捕獲處理程序,應(yīng)該使用 Capture 事件,例如使用onClickCapture 處理點擊事件的捕獲階段,而不是 onClick

剪貼板事件

事件名稱:

onCopy onCut onPaste

屬性:

DOMDataTransfer clipboardData

鍵盤事件

事件名稱:

onKeyDown onKeyPress onKeyUp

屬性:

boolean altKey
Number charCodeboolean ctrlKey
function getModifierState(key)String key
Number keyCode
String locale
Number locationboolean metaKeyboolean repeatboolean shiftKey
Number which

焦點事件

事件名稱

onFocus onBlur

屬性:

DOMEventTarget relatedTarget

表單事件

事件名稱:

onChange onInput onSubmit

關(guān)于 onChange 事件的更多信息,參見 表單組件 。

鼠標事件

事件名稱:

onClick onContextMenu onDoubleClick onDrag onDragEnd onDragEnter onDragExitonDragLeave onDragOver onDragStart onDrop onMouseDown onMouseEnter onMouseLeaveonMouseMove onMouseOut onMouseOver onMouseUp

屬性:

boolean altKeyNumber buttonNumber buttonsNumber clientXNumber clientY
boolean ctrlKeyfunction getModifierState(key)boolean metaKeyNumber pageXNumber pageYDOMEventTarget relatedTargetNumber screenXNumber screenYboolean shiftKey

觸控事件

事件名稱:

onTouchCancel onTouchEnd onTouchMove onTouchStart

屬性:

boolean altKey
DOMTouchList changedTouchesboolean ctrlKey
function getModifierState(key)boolean metaKeyboolean shiftKey
DOMTouchList targetTouches
DOMTouchList touches

用戶界面事件

事件名稱:

onScroll

屬性:

Number detail
DOMAbstractView view

滾輪事件

事件名稱:

onWheel

屬性:

Number deltaModeNumber deltaXNumber deltaYNumber deltaZ


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號