event.md

2018-11-22 17:59 更新

ngui/event

Enum: HighlightedStatus

View.onHighlighted事件數(shù)據(jù)的狀態(tài)枚舉類(lèi)型

HIGHLIGHTED_NORMAL

HIGHLIGHTED_HOVER

HIGHLIGHTED_DOWN

Enum: ReturnValueMask

GUI事件數(shù)據(jù)返回值掩碼,如果返回值被設(shè)置成0,表示同時(shí)取消默認(rèn)動(dòng)作與事件冒泡

RETURN_VALUE_MASK_DEFAULT = (1<<0)

RETURN_VALUE_MASK_BUBBLE = (1<<1)

RETURN_VALUE_MASK_ALL

Emun: KeyboardKeyName

鍵盤(pán)按鍵對(duì)應(yīng)的按鍵代碼

KEYCODE_UNKNOWN = 0

KEYCODE_MOUSE_LEFT = 1

KEYCODE_MOUSE_CENTER = 2

KEYCODE_MOUSE_RIGHT = 3

KEYCODE_BACK_SPACE = 8

KEYCODE_TAB = 9

KEYCODE_CLEAR = 12

KEYCODE_ENTER = 13

KEYCODE_SHIFT = 16

KEYCODE_CTRL = 17

KEYCODE_ALT = 18

KEYCODE_CAPS_LOCK = 20

KEYCODE_ESC = 27

KEYCODE_SPACE = 32

KEYCODE_COMMAND = 91

KEYCODE_LEFT = 37

KEYCODE_UP = 38

KEYCODE_RIGHT = 39

KEYCODE_DOWN = 40

KEYCODE_INSERT = 45

KEYCODE_DELETE = 46

KEYCODE_PAGE_UP = 33

KEYCODE_PAGE_DOWN = 34

KEYCODE_MOVE_END = 35

KEYCODE_MOVE_HOME = 36

KEYCODE_SCROLL_LOCK = 145

KEYCODE_BREAK = 19

KEYCODE_SYSRQ = 124

KEYCODE_0 = 48

KEYCODE_1 = 49

KEYCODE_2 = 50

KEYCODE_3 = 51

KEYCODE_4 = 52

KEYCODE_5 = 53

KEYCODE_6 = 54

KEYCODE_7 = 55

KEYCODE_8 = 56

KEYCODE_9 = 57

KEYCODE_A = 65

KEYCODE_B = 66

KEYCODE_C = 67

KEYCODE_D = 68

KEYCODE_E = 69

KEYCODE_F = 70

KEYCODE_G = 71

KEYCODE_H = 72

KEYCODE_I = 73

KEYCODE_J = 74

KEYCODE_K = 75

KEYCODE_L = 76

KEYCODE_M = 77

KEYCODE_N = 78

KEYCODE_O = 79

KEYCODE_P = 80

KEYCODE_Q = 81

KEYCODE_R = 82

KEYCODE_S = 83

KEYCODE_T = 84

KEYCODE_U = 85

KEYCODE_V = 86

KEYCODE_W = 87

KEYCODE_X = 88

KEYCODE_Y = 89

KEYCODE_Z = 90

KEYCODE_NUM_LOCK = 144

KEYCODE_NUMPAD_0 = 96

KEYCODE_NUMPAD_1 = 97

KEYCODE_NUMPAD_2 = 98

KEYCODE_NUMPAD_3 = 99

KEYCODE_NUMPAD_4 = 100

KEYCODE_NUMPAD_5 = 101

KEYCODE_NUMPAD_6 = 102

KEYCODE_NUMPAD_7 = 103

KEYCODE_NUMPAD_8 = 104

KEYCODE_NUMPAD_9 = 105

KEYCODE_NUMPAD_DIVIDE = 111

KEYCODE_NUMPAD_MULTIPLY = 106

KEYCODE_NUMPAD_SUBTRACT = 109

KEYCODE_NUMPAD_ADD = 107

KEYCODE_NUMPAD_DOT = 110

KEYCODE_NUMPAD_ENTER = 108

KEYCODE_F1 = 112

KEYCODE_F2 = 113

KEYCODE_F3 = 114

KEYCODE_F4 = 115

KEYCODE_F5 = 116

KEYCODE_F6 = 117

KEYCODE_F7 = 118

KEYCODE_F8 = 119

KEYCODE_F9 = 120

KEYCODE_F10 = 121

KEYCODE_F11 = 122

KEYCODE_F12 = 123

KEYCODE_SEMICOLON = 186

KEYCODE_EQUALS = 187

KEYCODE_MINUS = 189

KEYCODE_COMMA = 188

KEYCODE_PERIOD = 190

KEYCODE_SLASH = 191

KEYCODE_GRAVE = 192

KEYCODE_LEFT_BRACKET = 219

KEYCODE_BACK_SLASH = 220

KEYCODE_RIGHT_BRACKET = 221

KEYCODE_APOSTROPHE = 222

KEYCODE_HOME = 300

KEYCODE_BACK = 301

KEYCODE_CALL = 302

KEYCODE_ENDCALL = 303

KEYCODE_STAR = 304

KEYCODE_POUND = 305

KEYCODE_CENTER = 306

KEYCODE_VOLUME_UP = 307

KEYCODE_VOLUME_DOWN = 308

KEYCODE_POWER = 309

KEYCODE_CAMERA = 310

KEYCODE_FOCUS = 311

KEYCODE_MENU = 312

KEYCODE_SEARCH = 313

KEYCODE_MEDIA_PLAY_PAU = 314

KEYCODE_MEDIA_STOP = 315

KEYCODE_MEDIA_NEXT = 316

KEYCODE_MEDIA_PREVIOUS = 317

KEYCODE_MEDIA_REWIND = 318

KEYCODE_MEDIA_FAST_FORWARD= 319

KEYCODE_MUTE = 320

KEYCODE_CHANNEL_UP = 321

KEYCODE_CHANNEL_DOWN = 322

KEYCODE_MEDIA_PLAY = 323

KEYCODE_MEDIA_PAUSE = 324

KEYCODE_MEDIA_CLOSE = 325

KEYCODE_MEDIA_EJECT = 326

KEYCODE_MEDIA_RECORD = 327

KEYCODE_VOLUME_MUTE = 328

KEYCODE_MUSIC = 329

KEYCODE_EXPLORER = 330

KEYCODE_ENVELOPE = 331

KEYCODE_BOOKMARK = 332

KEYCODE_ZOOM_IN = 333

KEYCODE_ZOOM_OUT = 334

KEYCODE_HELP = 335

Object: GUITouch

觸摸事件返回的數(shù)據(jù)結(jié)構(gòu), 這是個(gè)Object類(lèi)型描述并沒(méi)有實(shí)際存在的構(gòu)造函數(shù)

GUITouch.id

GUITouch.startX

GUITouch.startY

GUITouch.x

GUITouch.y

GUITouch.force

GUITouch.view

Class: Notification

這是事件EventNoticer的集合,事件觸發(fā)與響應(yīng)中心

繼承于它的派生類(lèi)型可以使用event關(guān)鍵字來(lái)聲明成員事件

Notification.trigger(name[,data])

通過(guò)事件名稱(chēng)觸發(fā)事件 --> EventNoticer.trigger(data)

Notification.triggerWithEvent(name,event)

通過(guò)名稱(chēng)與Event觸發(fā)事件 --> EventNoticer.triggerWithEvent(event)

allNoticers(notification)

獲取notification上的所有EventNoticer

removeEventListenerWithScope(notification,scope)

卸載notification上所有與scope相關(guān)的偵聽(tīng)器

實(shí)際上遍歷調(diào)用了EventNoticer.off(scope)方法

Example:

class TestNotification extends Notification {
    eventonChange; // 這里必須以on開(kāi)始以;分號(hào)結(jié)束
}


var notification = new TestNotification();
// Prints: responseonChange 0 100
notification.onChange = function(ev) { // add default listener
    console.log('responseonChange 0', ev.data)
}
notification.triggerChange(100);


// Prints: 
// responseonChange 0 200
// responseonChange 1
notification.onChange.on(function(ev) {
    console.log('responseonChange 1')   
})
notification.triggerWithEvent('change', new Event(200));


var noticer = notification.onChange;
noticer.off(0) // delete default listener
// Prints: responseonChange 1
notification.triggerChange();

Class: EventNoticer

事件通知者,事件監(jiān)聽(tīng)器添加與刪除、觸發(fā)與通知都由它實(shí)現(xiàn)

EventNoticer.constructor(name,sender)

EventNoticer.enable

事件是否啟用,noticer.enable=false可禁用事件的發(fā)送,Default true

Get: EventNoticer.name

事件的名稱(chēng)

Get: EventNoticer.sender

返回初始化時(shí)的sender對(duì)像

Get: EventNoticer.length

監(jiān)聽(tīng)器數(shù)量

EventNoticer.on(listen[,scope[,id]])

添加監(jiān)聽(tīng)器函數(shù),并指定scopethis

  • @arg func {Function} 監(jiān)聽(tīng)器函數(shù)
  • @arg [scope] {Object} 范圍this對(duì)像
  • @arg [id] {int} 指定一個(gè)id,如果不指定自動(dòng)生成一個(gè),如果指定的id已經(jīng)存在會(huì)替換之前的監(jiān)聽(tīng)器
  • @ret {int} return id 返回傳入的id或自動(dòng)生成的id

Example:

var scope = { a:100 }
var id = display_port.onChange.on(function(ev) {
// Prints: 100
    console.log(this.a)
}, scope)
// 替換監(jiān)聽(tīng)器
display_port.onChange.on(function(ev) {
// Prints: replace 100
    console.log('replace', this.a)
}, scope, id)

EventNoticer.once(listen[,scope[,id]])

添加監(jiān)聽(tīng)器函數(shù),并指定scopethis,只監(jiān)聽(tīng)一次

EventNoticer.on2(listen[,scope[,id]])

添加監(jiān)聽(tīng)器函數(shù),并指定scopethis,與on()僅回調(diào)參數(shù)不相同

Example:

var scope = { a:100 }
var id = display_port.onChange.on2(function(scope, ev) {
// Prints: 100
    console.log(scope.a)
}, scope)

EventNoticer.once2(listen[,scope[,id]])

添加監(jiān)聽(tīng)器函數(shù),并指定scopethis,只監(jiān)聽(tīng)一次

EventNoticer.trigger([data])

觸發(fā)事件數(shù)據(jù),并發(fā)送數(shù)據(jù)

EventNoticer.triggerWithEvent(event)

通過(guò)Event觸發(fā)事件

EventNoticer.off()

刪除所有監(jiān)聽(tīng)器

EventNoticer.off(id)

通過(guò)id刪除監(jiān)聽(tīng)器

  • @arg id {int}

EventNoticer.off(scope)

通過(guò)scope刪除一個(gè)監(jiān)聽(tīng)器

EventNoticer.off(listen[,scope])

通過(guò)listen函數(shù)與scope刪除一個(gè)監(jiān)聽(tīng)器

Class: Event

事件數(shù)據(jù)上下文

Event.constructor([data])

Get: Event.name

Get: Event.data

Get: Event.sender

Get: Event.noticer

Event.returnValue

Class: GUIEvent

GUI事件數(shù)據(jù)上下文,構(gòu)造函數(shù)為私有不能訪(fǎng)問(wèn)

Get: GUIEvent.origin

Get: GUIEvent.timestamp

GUIEvent.cancelDefault()

取消默認(rèn)動(dòng)作

returnValue &= ~RETURN_VALUE_MASK_DEFAULT

GUIEvent.cancelBubble()

取消事件冒泡

returnValue &= ~RETURN_VALUE_MASK_BUBBLE

Get: GUIEvent.isDefault

returnValue & RETURN_VALUE_MASK_DEFAULT

Get: GUIEvent.isBubble

returnValue & RETURN_VALUE_MASK_BUBBLE

Class: GUIActionEvent

Get: GUIActionEvent.action

Get: GUIActionEvent.delay

Get: GUIActionEvent.frame

Get: GUIActionEvent.loop

Class: GUIKeyEvent

Get: GUIKeyEvent.keycode

Get: GUIKeyEvent.repeat

Get: GUIKeyEvent.shift

Get: GUIKeyEvent.ctrl

Get: GUIKeyEvent.alt

Get: GUIKeyEvent.command

Get: GUIKeyEvent.capsLock

Get: GUIKeyEvent.device

Get: GUIKeyEvent.source

GUIKeyEvent.focusMove

Class: GUIClickEvent

Get: GUIClickEvent.x

Get: GUIClickEvent.y

Get: GUIClickEvent.count

Get: GUIClickEvent.keyboard

Class: GUIHighlightedEvent

Get: status

Class: GUITouchEvent

Get: changedTouches

Class: GUIFocusMoveEvent

Get: focus

變化前的焦點(diǎn)視圖

Get: focusMove

變化后的焦點(diǎn)視圖

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)