Deployed 59ff7f1 to 5.4 with MkDocs 1.1.2 and mike 0.5.5
[GitHub/WoltLab/woltlab.github.io.git] / 5.4 / javascript / new-api_events / index.html
CommitLineData
45ca63d0
TD
1
2<!doctype html>
3<html lang="en" class="no-js">
4 <head>
5
6 <meta charset="utf-8">
7 <meta name="viewport" content="width=device-width,initial-scale=1">
8
9
10
11
fb962f09
WG
12 <link rel="icon" href="../../assets/default.favicon.ico">
13 <meta name="generator" content="mkdocs-1.1.2, mkdocs-material-7.1.0">
45ca63d0
TD
14
15
16
17 <title>Event Handling - WoltLab Suite Documentation</title>
18
19
20
fb962f09 21 <link rel="stylesheet" href="../../assets/stylesheets/main.33e2939f.min.css">
45ca63d0
TD
22
23
fb962f09 24 <link rel="stylesheet" href="../../assets/stylesheets/palette.ef6f36e2.min.css">
45ca63d0
TD
25
26
27
28 <meta name="theme-color" content="#009485">
29
30
31
32
33
fd8430cb
WG
34
35
45ca63d0
TD
36
37
38 <link rel="stylesheet" href="../../stylesheets/extra.css">
39
40
41
42
43
44 </head>
45
46
47
48
49
50
51
52 <body dir="ltr" data-md-color-scheme="" data-md-color-primary="teal" data-md-color-accent="">
45ca63d0
TD
53
54
fb962f09
WG
55 <script>function __prefix(e){return new URL("../..",location).pathname+"."+e}function __get(e,t=localStorage){return JSON.parse(t.getItem(__prefix(e)))}</script>
56
45ca63d0
TD
57 <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
58 <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
59 <label class="md-overlay" for="__drawer"></label>
60 <div data-md-component="skip">
61
62
63 <a href="#event-handling-javascript-api" class="md-skip">
64 Skip to content
65 </a>
66
67 </div>
68 <div data-md-component="announce">
69
70 <aside class="md-announce">
71 <div class="md-announce__inner md-grid md-typeset">
72
73 <a href="https://www.woltlab.com">Back to <strong>woltlab.com</strong></a>
74
75 </div>
76 </aside>
77
78 </div>
79
fb962f09 80 <header class="md-header" data-md-component="header">
45ca63d0 81 <nav class="md-header__inner md-grid" aria-label="Header">
fb962f09 82 <a href="../.." title="WoltLab Suite Documentation" class="md-header__button md-logo" aria-label="WoltLab Suite Documentation" data-md-component="logo">
45ca63d0
TD
83
84 <img src="../../assets/logo.png" alt="logo">
85
86 </a>
87 <label class="md-header__button md-icon" for="__drawer">
88 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
89 </label>
90 <div class="md-header__title" data-md-component="header-title">
91 <div class="md-header__ellipsis">
92 <div class="md-header__topic">
93 <span class="md-ellipsis">
94 WoltLab Suite Documentation
95 </span>
96 </div>
97 <div class="md-header__topic" data-md-component="header-topic">
98 <span class="md-ellipsis">
99
100 Event Handling
101
102 </span>
103 </div>
104 </div>
45ca63d0
TD
105 </div>
106
fb962f09
WG
107
108
a3639e76
WG
109 <label class="md-header__button md-icon" for="__search">
110 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
111 </label>
112
113<div class="md-search" data-md-component="search" role="dialog">
114 <label class="md-search__overlay" for="__search"></label>
115 <div class="md-search__inner" role="search">
116 <form class="md-search__form" name="search">
117 <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" data-md-state="active" required>
118 <label class="md-search__icon md-icon" for="__search">
119 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
120 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
121 </label>
122 <button type="reset" class="md-search__icon md-icon" aria-label="Clear" tabindex="-1">
fb962f09 123 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>
a3639e76
WG
124 </button>
125 </form>
126 <div class="md-search__output">
127 <div class="md-search__scrollwrap" data-md-scrollfix>
128 <div class="md-search-result" data-md-component="search-result">
129 <div class="md-search-result__meta">
130 Initializing search
131 </div>
132 <ol class="md-search-result__list"></ol>
133 </div>
134 </div>
135 </div>
136 </div>
137</div>
138
45ca63d0 139
7124f4cb
WG
140 <div class="md-header__source">
141
142<a href="https://github.com/WoltLab/docs.woltlab.com/" title="Go to repository" class="md-source" data-md-component="source">
143 <div class="md-source__icon md-icon">
144
fb962f09 145 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
7124f4cb
WG
146 </div>
147 <div class="md-source__repository">
148 GitHub
149 </div>
150</a>
151 </div>
152
45ca63d0
TD
153 </nav>
154</header>
155
156 <div class="md-container" data-md-component="container">
157
158
159
160
161 <main class="md-main" data-md-component="main">
162 <div class="md-main__inner md-grid">
163
164
165
166 <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
167 <div class="md-sidebar__scrollwrap">
168 <div class="md-sidebar__inner">
169
170
171
45ca63d0
TD
172<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
173 <label class="md-nav__title" for="__drawer">
fb962f09 174 <a href="../.." title="WoltLab Suite Documentation" class="md-nav__button md-logo" aria-label="WoltLab Suite Documentation" data-md-component="logo">
45ca63d0
TD
175
176 <img src="../../assets/logo.png" alt="logo">
177
178 </a>
179 WoltLab Suite Documentation
180 </label>
181
7124f4cb
WG
182 <div class="md-nav__source">
183
184<a href="https://github.com/WoltLab/docs.woltlab.com/" title="Go to repository" class="md-source" data-md-component="source">
185 <div class="md-source__icon md-icon">
186
fb962f09 187 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
7124f4cb
WG
188 </div>
189 <div class="md-source__repository">
190 GitHub
191 </div>
192</a>
193 </div>
194
45ca63d0
TD
195 <ul class="md-nav__list" data-md-scrollfix>
196
197
198
199
200
201
202
203
204 <li class="md-nav__item">
205 <a href="../../getting-started/" class="md-nav__link">
206 Getting Started
207 </a>
208 </li>
209
210
211
212
213
214
215
216
217
218
219
220 <li class="md-nav__item md-nav__item--nested">
221
222
223 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2" type="checkbox" id="__nav_2" >
224
225 <label class="md-nav__link" for="__nav_2">
226 PHP API
227 <span class="md-nav__icon md-icon"></span>
228 </label>
229 <nav class="md-nav" aria-label="PHP API" data-md-level="1">
230 <label class="md-nav__title" for="__nav_2">
231 <span class="md-nav__icon md-icon"></span>
232 PHP API
233 </label>
234 <ul class="md-nav__list" data-md-scrollfix>
235
236
237
238
239
240 <li class="md-nav__item">
241 <a href="../../php/pages/" class="md-nav__link">
242 Pages
243 </a>
244 </li>
245
246
247
248
249
250
251
252 <li class="md-nav__item">
253 <a href="../../php/database-objects/" class="md-nav__link">
254 Database Objects
255 </a>
256 </li>
257
258
259
260
261
262
263
264 <li class="md-nav__item">
265 <a href="../../php/database-access/" class="md-nav__link">
266 Database Access
267 </a>
268 </li>
269
270
271
272
273
274
275
276 <li class="md-nav__item">
277 <a href="../../php/exceptions/" class="md-nav__link">
278 Exceptions
279 </a>
280 </li>
281
282
283
284
285
286
287
288
289 <li class="md-nav__item md-nav__item--nested">
290
291
292 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5" type="checkbox" id="__nav_2_5" >
293
294 <label class="md-nav__link" for="__nav_2_5">
295 API
296 <span class="md-nav__icon md-icon"></span>
297 </label>
298 <nav class="md-nav" aria-label="API" data-md-level="2">
299 <label class="md-nav__title" for="__nav_2_5">
300 <span class="md-nav__icon md-icon"></span>
301 API
302 </label>
303 <ul class="md-nav__list" data-md-scrollfix>
304
305
306
307
308
6923e968
WG
309
310 <li class="md-nav__item md-nav__item--nested">
311
312
313 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5_1" type="checkbox" id="__nav_2_5_1" >
314
315 <label class="md-nav__link" for="__nav_2_5_1">
316 Caches
317 <span class="md-nav__icon md-icon"></span>
318 </label>
319 <nav class="md-nav" aria-label="Caches" data-md-level="3">
320 <label class="md-nav__title" for="__nav_2_5_1">
321 <span class="md-nav__icon md-icon"></span>
322 Caches
323 </label>
324 <ul class="md-nav__list" data-md-scrollfix>
325
326
327
328
329
45ca63d0
TD
330 <li class="md-nav__item">
331 <a href="../../php/api/caches/" class="md-nav__link">
6923e968
WG
332 Overview
333 </a>
334 </li>
335
336
337
338
339
340
341
342 <li class="md-nav__item">
343 <a href="../../php/api/caches_persistent-caches/" class="md-nav__link">
344 Persistent Caches
345 </a>
346 </li>
347
348
349
350
351
352
353
354 <li class="md-nav__item">
355 <a href="../../php/api/caches_runtime-caches/" class="md-nav__link">
356 Runtime Caches
45ca63d0
TD
357 </a>
358 </li>
359
360
361
6923e968
WG
362 </ul>
363 </nav>
364 </li>
365
366
367
45ca63d0
TD
368
369
370
371
372 <li class="md-nav__item">
373 <a href="../../php/api/comments/" class="md-nav__link">
374 Comments
375 </a>
376 </li>
377
378
379
380
381
382
383
384 <li class="md-nav__item">
385 <a href="../../php/api/cronjobs/" class="md-nav__link">
386 Cronjobs
387 </a>
388 </li>
389
390
391
392
393
394
395
396 <li class="md-nav__item">
397 <a href="../../php/api/events/" class="md-nav__link">
398 Events
399 </a>
400 </li>
401
402
403
404
405
406
407
408
409 <li class="md-nav__item md-nav__item--nested">
410
411
412 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5_5" type="checkbox" id="__nav_2_5_5" >
413
414 <label class="md-nav__link" for="__nav_2_5_5">
415 Form Builder
416 <span class="md-nav__icon md-icon"></span>
417 </label>
418 <nav class="md-nav" aria-label="Form Builder" data-md-level="3">
419 <label class="md-nav__title" for="__nav_2_5_5">
420 <span class="md-nav__icon md-icon"></span>
421 Form Builder
422 </label>
423 <ul class="md-nav__list" data-md-scrollfix>
424
425
426
427
428
429 <li class="md-nav__item">
430 <a href="../../php/api/form_builder/overview/" class="md-nav__link">
431 Overview
432 </a>
433 </li>
434
435
436
437
438
439
440
441 <li class="md-nav__item">
442 <a href="../../php/api/form_builder/structure/" class="md-nav__link">
443 Structure
444 </a>
445 </li>
446
447
448
449
450
451
452
453 <li class="md-nav__item">
454 <a href="../../php/api/form_builder/form_fields/" class="md-nav__link">
455 Fields
456 </a>
457 </li>
458
459
460
461
462
463
464
465 <li class="md-nav__item">
466 <a href="../../php/api/form_builder/validation_data/" class="md-nav__link">
467 Validation and Data
468 </a>
469 </li>
470
471
472
473
474
475
476
477 <li class="md-nav__item">
478 <a href="../../php/api/form_builder/dependencies/" class="md-nav__link">
479 Dependencies
480 </a>
481 </li>
482
483
484
485 </ul>
486 </nav>
487 </li>
488
489
490
491
492
493
494
495 <li class="md-nav__item">
496 <a href="../../php/api/package_installation_plugins/" class="md-nav__link">
497 Package Installation Plugins
498 </a>
499 </li>
500
501
502
503
504
505
506
507 <li class="md-nav__item">
508 <a href="../../php/api/user_activity_points/" class="md-nav__link">
509 User Activity Points
510 </a>
511 </li>
512
513
514
515
516
517
518
519 <li class="md-nav__item">
520 <a href="../../php/api/user_notifications/" class="md-nav__link">
521 User Notifications
522 </a>
523 </li>
524
525
526
527
528
529
530
531 <li class="md-nav__item">
532 <a href="../../php/api/sitemaps/" class="md-nav__link">
533 Sitemaps
534 </a>
535 </li>
536
537
538
539 </ul>
540 </nav>
541 </li>
542
543
544
545
546
547
548
549 <li class="md-nav__item">
550 <a href="../../php/code-style/" class="md-nav__link">
551 Code Style
552 </a>
553 </li>
554
555
556
557
558
559
560
561 <li class="md-nav__item">
562 <a href="../../php/apps/" class="md-nav__link">
563 Apps
564 </a>
565 </li>
566
567
568
569
570
571
572
573 <li class="md-nav__item">
574 <a href="../../php/gdpr/" class="md-nav__link">
575 GDPR
576 </a>
577 </li>
578
579
580
581 </ul>
582 </nav>
583 </li>
584
585
586
587
588
589
590
591
592
593
594
595 <li class="md-nav__item md-nav__item--nested">
596
597
598 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
599
600 <label class="md-nav__link" for="__nav_3">
601 Languages, Templates & CSS
602 <span class="md-nav__icon md-icon"></span>
603 </label>
604 <nav class="md-nav" aria-label="Languages, Templates & CSS" data-md-level="1">
605 <label class="md-nav__title" for="__nav_3">
606 <span class="md-nav__icon md-icon"></span>
607 Languages, Templates & CSS
608 </label>
609 <ul class="md-nav__list" data-md-scrollfix>
610
611
612
613
614
615 <li class="md-nav__item">
616 <a href="../../view/languages/" class="md-nav__link">
617 Languages
618 </a>
619 </li>
620
621
622
623
624
625
626
627 <li class="md-nav__item">
628 <a href="../../view/templates/" class="md-nav__link">
629 Templates
630 </a>
631 </li>
632
633
634
635
636
637
638
6923e968
WG
639 <li class="md-nav__item">
640 <a href="../../view/template-plugins/" class="md-nav__link">
641 Template Plugins
642 </a>
643 </li>
644
645
646
647
648
649
650
45ca63d0
TD
651 <li class="md-nav__item">
652 <a href="../../view/css/" class="md-nav__link">
653 CSS
654 </a>
655 </li>
656
657
658
659 </ul>
660 </nav>
661 </li>
662
663
664
665
666
667
668
669
670
671
672
673
674
675 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
676
677
678 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" checked>
679
680 <label class="md-nav__link" for="__nav_4">
77efcd46 681 TypeScript and JavaScript API
45ca63d0
TD
682 <span class="md-nav__icon md-icon"></span>
683 </label>
77efcd46 684 <nav class="md-nav" aria-label="TypeScript and JavaScript API" data-md-level="1">
45ca63d0
TD
685 <label class="md-nav__title" for="__nav_4">
686 <span class="md-nav__icon md-icon"></span>
77efcd46 687 TypeScript and JavaScript API
45ca63d0
TD
688 </label>
689 <ul class="md-nav__list" data-md-scrollfix>
690
691
692
693
694
695 <li class="md-nav__item">
696 <a href="../general-usage/" class="md-nav__link">
697 General Usage
698 </a>
699 </li>
700
701
702
703
704
705
77efcd46
WG
706
707 <li class="md-nav__item">
708 <a href="../typescript/" class="md-nav__link">
709 TypeScript
710 </a>
711 </li>
712
713
714
715
716
717
45ca63d0
TD
718
719
720
721
722 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
723
724
77efcd46 725 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_3" type="checkbox" id="__nav_4_3" checked>
45ca63d0 726
77efcd46 727 <label class="md-nav__link" for="__nav_4_3">
45ca63d0
TD
728 New API
729 <span class="md-nav__icon md-icon"></span>
730 </label>
731 <nav class="md-nav" aria-label="New API" data-md-level="2">
77efcd46 732 <label class="md-nav__title" for="__nav_4_3">
45ca63d0
TD
733 <span class="md-nav__icon md-icon"></span>
734 New API
735 </label>
736 <ul class="md-nav__list" data-md-scrollfix>
737
738
739
740
741
742 <li class="md-nav__item">
743 <a href="../new-api_writing-a-module/" class="md-nav__link">
744 Writing a module
745 </a>
746 </li>
747
748
749
750
751
752
753
754 <li class="md-nav__item">
755 <a href="../new-api_data-structures/" class="md-nav__link">
756 Data Structures
757 </a>
758 </li>
759
760
761
762
763
764
765
766 <li class="md-nav__item">
767 <a href="../new-api_core/" class="md-nav__link">
768 Core Functions
769 </a>
770 </li>
771
772
773
774
775
776
777
778 <li class="md-nav__item">
779 <a href="../new-api_dom/" class="md-nav__link">
780 DOM
781 </a>
782 </li>
783
784
785
786
787
788
789
790
791
792 <li class="md-nav__item md-nav__item--active">
793
794 <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
795
796
797
798
799 <label class="md-nav__link md-nav__link--active" for="__toc">
800 Event Handling
801 <span class="md-nav__icon md-icon"></span>
802 </label>
803
804 <a href="./" class="md-nav__link md-nav__link--active">
805 Event Handling
806 </a>
807
808
809<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
810
811
812
813
814
815 <label class="md-nav__title" for="__toc">
816 <span class="md-nav__icon md-icon"></span>
817 Table of contents
818 </label>
819 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
820
821 <li class="md-nav__item">
822 <a href="#eventkey" class="md-nav__link">
823 EventKey
824 </a>
825
826 <nav class="md-nav" aria-label="EventKey">
827 <ul class="md-nav__list">
828
829 <li class="md-nav__item">
830 <a href="#arrowdownevent-keyboardevent-boolean" class="md-nav__link">
831 ArrowDown(event: KeyboardEvent): boolean
832 </a>
833
834</li>
835
836 <li class="md-nav__item">
837 <a href="#arrowleftevent-keyboardevent-boolean" class="md-nav__link">
838 ArrowLeft(event: KeyboardEvent): boolean
839 </a>
840
841</li>
842
843 <li class="md-nav__item">
844 <a href="#arrowrightevent-keyboardevent-boolean" class="md-nav__link">
845 ArrowRight(event: KeyboardEvent): boolean
846 </a>
847
848</li>
849
850 <li class="md-nav__item">
851 <a href="#arrowupevent-keyboardevent-boolean" class="md-nav__link">
852 ArrowUp(event: KeyboardEvent): boolean
853 </a>
854
855</li>
856
857 <li class="md-nav__item">
858 <a href="#commaevent-keyboardevent-boolean" class="md-nav__link">
859 Comma(event: KeyboardEvent): boolean
860 </a>
861
862</li>
863
864 <li class="md-nav__item">
865 <a href="#enterevent-keyboardevent-boolean" class="md-nav__link">
866 Enter(event: KeyboardEvent): boolean
867 </a>
868
869</li>
870
871 <li class="md-nav__item">
872 <a href="#escapeevent-keyboardevent-boolean" class="md-nav__link">
873 Escape(event: KeyboardEvent): boolean
874 </a>
875
876</li>
877
878 <li class="md-nav__item">
879 <a href="#tabevent-keyboardevent-boolean" class="md-nav__link">
880 Tab(event: KeyboardEvent): boolean
881 </a>
882
883</li>
884
885 </ul>
886 </nav>
887
888</li>
889
890 <li class="md-nav__item">
891 <a href="#eventhandler" class="md-nav__link">
892 EventHandler
893 </a>
894
895 <nav class="md-nav" aria-label="EventHandler">
896 <ul class="md-nav__list">
897
898 <li class="md-nav__item">
899 <a href="#identifiying-events-with-the-developer-tools" class="md-nav__link">
900 Identifiying Events with the Developer Tools
901 </a>
902
903</li>
904
905 <li class="md-nav__item">
906 <a href="#addidentifier-string-action-string-callback-data-object-void-string" class="md-nav__link">
907 add(identifier: string, action: string, callback: (data: Object) =&gt; void): string
908 </a>
909
910</li>
911
912 <li class="md-nav__item">
913 <a href="#fireidentifier-string-action-string-data-object" class="md-nav__link">
914 fire(identifier: string, action: string, data?: Object)
915 </a>
916
917</li>
918
919 <li class="md-nav__item">
920 <a href="#removeidentifier-string-action-string-uuid-string" class="md-nav__link">
921 remove(identifier: string, action: string, uuid: string)
922 </a>
923
924</li>
925
926 <li class="md-nav__item">
927 <a href="#removeallidentifier-string-action-string" class="md-nav__link">
928 removeAll(identifier: string, action: string)
929 </a>
930
931</li>
932
933 <li class="md-nav__item">
934 <a href="#removeallbysuffixidentifier-string-suffix-string" class="md-nav__link">
935 removeAllBySuffix(identifier: string, suffix: string)
936 </a>
937
938</li>
939
940 </ul>
941 </nav>
942
943</li>
944
945 </ul>
946
947</nav>
948
949 </li>
950
951
952
953
954
955
956
957 <li class="md-nav__item">
958 <a href="../new-api_ajax/" class="md-nav__link">
959 Ajax
960 </a>
961 </li>
962
963
964
965
966
967
968
969 <li class="md-nav__item">
970 <a href="../new-api_dialogs/" class="md-nav__link">
971 Dialogs
972 </a>
973 </li>
974
975
976
977
978
979
980
981 <li class="md-nav__item">
982 <a href="../new-api_browser/" class="md-nav__link">
983 Browser and Screen Sizes
984 </a>
985 </li>
986
987
988
989
990
991
992
993 <li class="md-nav__item">
994 <a href="../new-api_ui/" class="md-nav__link">
995 User Interface
996 </a>
997 </li>
998
999
1000
1001 </ul>
1002 </nav>
1003 </li>
1004
1005
1006
1007
1008
1009
1010
1011 <li class="md-nav__item">
1012 <a href="../legacy-api/" class="md-nav__link">
1013 Legacy API
1014 </a>
1015 </li>
1016
1017
1018
1019
1020
1021
1022
1023 <li class="md-nav__item">
1024 <a href="../helper-functions/" class="md-nav__link">
1025 Helper Functions
1026 </a>
1027 </li>
1028
1029
1030
1031
1032
1033
1034
1035 <li class="md-nav__item">
1036 <a href="../code-snippets/" class="md-nav__link">
1037 Code Snippets
1038 </a>
1039 </li>
1040
1041
1042
1043 </ul>
1044 </nav>
1045 </li>
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057 <li class="md-nav__item md-nav__item--nested">
1058
1059
1060 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
1061
1062 <label class="md-nav__link" for="__nav_5">
1063 Package Components
1064 <span class="md-nav__icon md-icon"></span>
1065 </label>
1066 <nav class="md-nav" aria-label="Package Components" data-md-level="1">
1067 <label class="md-nav__title" for="__nav_5">
1068 <span class="md-nav__icon md-icon"></span>
1069 Package Components
1070 </label>
1071 <ul class="md-nav__list" data-md-scrollfix>
1072
1073
1074
1075
1076
1077 <li class="md-nav__item">
1078 <a href="../../package/package-xml/" class="md-nav__link">
1079 package.xml
1080 </a>
1081 </li>
1082
1083
1084
1085
1086
1087
1088
1089
1090 <li class="md-nav__item md-nav__item--nested">
1091
1092
1093 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5_2" type="checkbox" id="__nav_5_2" >
1094
1095 <label class="md-nav__link" for="__nav_5_2">
1096 PIPs
1097 <span class="md-nav__icon md-icon"></span>
1098 </label>
1099 <nav class="md-nav" aria-label="PIPs" data-md-level="2">
1100 <label class="md-nav__title" for="__nav_5_2">
1101 <span class="md-nav__icon md-icon"></span>
1102 PIPs
1103 </label>
1104 <ul class="md-nav__list" data-md-scrollfix>
1105
1106
1107
1108
1109
1110 <li class="md-nav__item">
1111 <a href="../../package/pip/" class="md-nav__link">
1112 Overview
1113 </a>
1114 </li>
1115
1116
1117
1118
1119
1120
1121
1122 <li class="md-nav__item">
1123 <a href="../../package/pip/acl-option/" class="md-nav__link">
1124 aclOption
1125 </a>
1126 </li>
1127
1128
1129
1130
1131
1132
1133
1134 <li class="md-nav__item">
1135 <a href="../../package/pip/acp-menu/" class="md-nav__link">
1136 acpMenu
1137 </a>
1138 </li>
1139
1140
1141
1142
1143
1144
1145
1146 <li class="md-nav__item">
1147 <a href="../../package/pip/acp-search-provider/" class="md-nav__link">
1148 acpSearchProvider
1149 </a>
1150 </li>
1151
1152
1153
1154
1155
1156
1157
1158 <li class="md-nav__item">
1159 <a href="../../package/pip/acp-template/" class="md-nav__link">
1160 acpTemplate
1161 </a>
1162 </li>
1163
1164
1165
1166
1167
1168
1169
1170 <li class="md-nav__item">
1171 <a href="../../package/pip/bbcode/" class="md-nav__link">
1172 bbcode
1173 </a>
1174 </li>
1175
1176
1177
1178
1179
1180
1181
1182 <li class="md-nav__item">
1183 <a href="../../package/pip/box/" class="md-nav__link">
1184 box
1185 </a>
1186 </li>
1187
1188
1189
1190
1191
1192
1193
1194 <li class="md-nav__item">
1195 <a href="../../package/pip/clipboard-action/" class="md-nav__link">
1196 clipboardAction
1197 </a>
1198 </li>
1199
1200
1201
1202
1203
1204
1205
1206 <li class="md-nav__item">
1207 <a href="../../package/pip/core-object/" class="md-nav__link">
1208 coreObject
1209 </a>
1210 </li>
1211
1212
1213
1214
1215
1216
1217
1218 <li class="md-nav__item">
1219 <a href="../../package/pip/cronjob/" class="md-nav__link">
1220 cronjob
1221 </a>
1222 </li>
1223
1224
1225
1226
1227
1228
1229
6923e968
WG
1230 <li class="md-nav__item">
1231 <a href="../../package/pip/database/" class="md-nav__link">
1232 database
1233 </a>
1234 </li>
1235
1236
1237
1238
1239
1240
1241
45ca63d0
TD
1242 <li class="md-nav__item">
1243 <a href="../../package/pip/event-listener/" class="md-nav__link">
1244 eventListener
1245 </a>
1246 </li>
1247
1248
1249
1250
1251
1252
1253
1254 <li class="md-nav__item">
1255 <a href="../../package/pip/file/" class="md-nav__link">
1256 file
1257 </a>
1258 </li>
1259
1260
1261
1262
1263
1264
1265
1266 <li class="md-nav__item">
1267 <a href="../../package/pip/language/" class="md-nav__link">
1268 language
1269 </a>
1270 </li>
1271
1272
1273
1274
1275
1276
1277
1278 <li class="md-nav__item">
1279 <a href="../../package/pip/media-provider/" class="md-nav__link">
1280 mediaProvider
1281 </a>
1282 </li>
1283
1284
1285
1286
1287
1288
1289
1290 <li class="md-nav__item">
1291 <a href="../../package/pip/menu/" class="md-nav__link">
1292 menu
1293 </a>
1294 </li>
1295
1296
1297
1298
1299
1300
1301
1302 <li class="md-nav__item">
1303 <a href="../../package/pip/menu-item/" class="md-nav__link">
1304 menuItem
1305 </a>
1306 </li>
1307
1308
1309
1310
1311
1312
1313
1314 <li class="md-nav__item">
1315 <a href="../../package/pip/object-type/" class="md-nav__link">
1316 objectType
1317 </a>
1318 </li>
1319
1320
1321
1322
1323
1324
1325
1326 <li class="md-nav__item">
1327 <a href="../../package/pip/object-type-definition/" class="md-nav__link">
1328 objectTypeDefinition
1329 </a>
1330 </li>
1331
1332
1333
1334
1335
1336
1337
1338 <li class="md-nav__item">
1339 <a href="../../package/pip/option/" class="md-nav__link">
1340 option
1341 </a>
1342 </li>
1343
1344
1345
1346
1347
1348
1349
1350 <li class="md-nav__item">
1351 <a href="../../package/pip/page/" class="md-nav__link">
1352 page
1353 </a>
1354 </li>
1355
1356
1357
1358
1359
1360
1361
1362 <li class="md-nav__item">
1363 <a href="../../package/pip/pip/" class="md-nav__link">
1364 pip
1365 </a>
1366 </li>
1367
1368
1369
1370
1371
1372
1373
1374 <li class="md-nav__item">
1375 <a href="../../package/pip/script/" class="md-nav__link">
1376 script
1377 </a>
1378 </li>
1379
1380
1381
1382
1383
1384
1385
1386 <li class="md-nav__item">
1387 <a href="../../package/pip/smiley/" class="md-nav__link">
1388 smiley
1389 </a>
1390 </li>
1391
1392
1393
1394
1395
1396
1397
1398 <li class="md-nav__item">
1399 <a href="../../package/pip/sql/" class="md-nav__link">
1400 sql
1401 </a>
1402 </li>
1403
1404
1405
1406
1407
1408
1409
1410 <li class="md-nav__item">
1411 <a href="../../package/pip/style/" class="md-nav__link">
1412 style
1413 </a>
1414 </li>
1415
1416
1417
1418
1419
1420
1421
1422 <li class="md-nav__item">
1423 <a href="../../package/pip/template/" class="md-nav__link">
1424 template
1425 </a>
1426 </li>
1427
1428
1429
1430
1431
1432
1433
1434 <li class="md-nav__item">
1435 <a href="../../package/pip/template-listener/" class="md-nav__link">
1436 templateListener
1437 </a>
1438 </li>
1439
1440
1441
1442
1443
1444
1445
1446 <li class="md-nav__item">
1447 <a href="../../package/pip/user-group-option/" class="md-nav__link">
1448 userGroupOption
1449 </a>
1450 </li>
1451
1452
1453
1454
1455
1456
1457
1458 <li class="md-nav__item">
1459 <a href="../../package/pip/user-menu/" class="md-nav__link">
1460 userMenu
1461 </a>
1462 </li>
1463
1464
1465
1466
1467
1468
1469
1470 <li class="md-nav__item">
1471 <a href="../../package/pip/user-notification-event/" class="md-nav__link">
1472 userNotificationEvent
1473 </a>
1474 </li>
1475
1476
1477
1478
1479
1480
1481
1482 <li class="md-nav__item">
1483 <a href="../../package/pip/user-option/" class="md-nav__link">
1484 userOption
1485 </a>
1486 </li>
1487
1488
1489
1490
1491
1492
1493
1494 <li class="md-nav__item">
1495 <a href="../../package/pip/user-profile-menu/" class="md-nav__link">
1496 userProfileMenu
1497 </a>
1498 </li>
1499
1500
1501
1502 </ul>
1503 </nav>
1504 </li>
1505
1506
1507
1508
1509
1510
1511
1512 <li class="md-nav__item">
1513 <a href="../../package/database-php-api/" class="md-nav__link">
1514 Database PHP API
1515 </a>
1516 </li>
1517
1518
1519
1520 </ul>
1521 </nav>
1522 </li>
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534 <li class="md-nav__item md-nav__item--nested">
1535
1536
1537 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
1538
1539 <label class="md-nav__link" for="__nav_6">
1540 Migration
1541 <span class="md-nav__icon md-icon"></span>
1542 </label>
1543 <nav class="md-nav" aria-label="Migration" data-md-level="1">
1544 <label class="md-nav__title" for="__nav_6">
1545 <span class="md-nav__icon md-icon"></span>
1546 Migration
1547 </label>
1548 <ul class="md-nav__list" data-md-scrollfix>
1549
1550
1551
1552
1553
1554
1555 <li class="md-nav__item md-nav__item--nested">
1556
1557
1558 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_1" type="checkbox" id="__nav_6_1" >
1559
1560 <label class="md-nav__link" for="__nav_6_1">
1561 Migrating from WSC 5.3
1562 <span class="md-nav__icon md-icon"></span>
1563 </label>
1564 <nav class="md-nav" aria-label="Migrating from WSC 5.3" data-md-level="2">
1565 <label class="md-nav__title" for="__nav_6_1">
1566 <span class="md-nav__icon md-icon"></span>
1567 Migrating from WSC 5.3
1568 </label>
1569 <ul class="md-nav__list" data-md-scrollfix>
1570
1571
1572
1573
1574
1575 <li class="md-nav__item">
1576 <a href="../../migration/wsc53/php/" class="md-nav__link">
1577 PHP API
1578 </a>
1579 </li>
1580
1581
1582
1583
1584
1585
1586
1587 <li class="md-nav__item">
1588 <a href="../../migration/wsc53/session/" class="md-nav__link">
1589 Session Handling and Authentication
1590 </a>
1591 </li>
1592
1593
1594
1595
1596
1597
1598
1599 <li class="md-nav__item">
1600 <a href="../../migration/wsc53/javascript/" class="md-nav__link">
77efcd46 1601 TypeScript and JavaScript
45ca63d0
TD
1602 </a>
1603 </li>
1604
1605
1606
1607
1608
1609
1610
1611 <li class="md-nav__item">
1612 <a href="../../migration/wsc53/templates/" class="md-nav__link">
1613 Templates
1614 </a>
1615 </li>
1616
1617
1618
1619
1620
1621
1622
1623 <li class="md-nav__item">
1624 <a href="../../migration/wsc53/libraries/" class="md-nav__link">
1625 Third Party Libraries
1626 </a>
1627 </li>
1628
1629
1630
1631 </ul>
1632 </nav>
1633 </li>
1634
1635
1636
1637
1638
1639
1640
1641
1642 <li class="md-nav__item md-nav__item--nested">
1643
1644
1645 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_2" type="checkbox" id="__nav_6_2" >
1646
1647 <label class="md-nav__link" for="__nav_6_2">
1648 Migrating from WSC 5.2
1649 <span class="md-nav__icon md-icon"></span>
1650 </label>
1651 <nav class="md-nav" aria-label="Migrating from WSC 5.2" data-md-level="2">
1652 <label class="md-nav__title" for="__nav_6_2">
1653 <span class="md-nav__icon md-icon"></span>
1654 Migrating from WSC 5.2
1655 </label>
1656 <ul class="md-nav__list" data-md-scrollfix>
1657
1658
1659
1660
1661
1662 <li class="md-nav__item">
1663 <a href="../../migration/wsc52/php/" class="md-nav__link">
1664 PHP API
1665 </a>
1666 </li>
1667
1668
1669
1670
1671
1672
1673
1674 <li class="md-nav__item">
1675 <a href="../../migration/wsc52/templates/" class="md-nav__link">
1676 Templates and Languages
1677 </a>
1678 </li>
1679
1680
1681
1682
1683
1684
1685
1686 <li class="md-nav__item">
1687 <a href="../../migration/wsc52/libraries/" class="md-nav__link">
1688 Third Party Libraries
1689 </a>
1690 </li>
1691
1692
1693
1694 </ul>
1695 </nav>
1696 </li>
1697
1698
1699
1700
1701
1702
1703
1704
1705 <li class="md-nav__item md-nav__item--nested">
1706
1707
1708 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_3" type="checkbox" id="__nav_6_3" >
1709
1710 <label class="md-nav__link" for="__nav_6_3">
1711 Migrating from WSC 3.1
1712 <span class="md-nav__icon md-icon"></span>
1713 </label>
1714 <nav class="md-nav" aria-label="Migrating from WSC 3.1" data-md-level="2">
1715 <label class="md-nav__title" for="__nav_6_3">
1716 <span class="md-nav__icon md-icon"></span>
1717 Migrating from WSC 3.1
1718 </label>
1719 <ul class="md-nav__list" data-md-scrollfix>
1720
1721
1722
1723
1724
1725 <li class="md-nav__item">
1726 <a href="../../migration/wsc31/php/" class="md-nav__link">
1727 PHP API
1728 </a>
1729 </li>
1730
1731
1732
1733 </ul>
1734 </nav>
1735 </li>
1736
1737
1738
1739
1740
1741
1742
1743
1744 <li class="md-nav__item md-nav__item--nested">
1745
1746
1747 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_4" type="checkbox" id="__nav_6_4" >
1748
1749 <label class="md-nav__link" for="__nav_6_4">
1750 Migrating from WSC 3.0
1751 <span class="md-nav__icon md-icon"></span>
1752 </label>
1753 <nav class="md-nav" aria-label="Migrating from WSC 3.0" data-md-level="2">
1754 <label class="md-nav__title" for="__nav_6_4">
1755 <span class="md-nav__icon md-icon"></span>
1756 Migrating from WSC 3.0
1757 </label>
1758 <ul class="md-nav__list" data-md-scrollfix>
1759
1760
1761
1762
1763
1764 <li class="md-nav__item">
1765 <a href="../../migration/wsc30/php/" class="md-nav__link">
1766 PHP API
1767 </a>
1768 </li>
1769
1770
1771
1772
1773
1774
1775
1776 <li class="md-nav__item">
1777 <a href="../../migration/wsc30/javascript/" class="md-nav__link">
1778 JavaScript API
1779 </a>
1780 </li>
1781
1782
1783
1784
1785
1786
1787
1788 <li class="md-nav__item">
1789 <a href="../../migration/wsc30/templates/" class="md-nav__link">
1790 Templates
1791 </a>
1792 </li>
1793
1794
1795
1796
1797
1798
1799
1800 <li class="md-nav__item">
1801 <a href="../../migration/wsc30/css/" class="md-nav__link">
1802 CSS
1803 </a>
1804 </li>
1805
1806
1807
1808
1809
1810
1811
1812 <li class="md-nav__item">
1813 <a href="../../migration/wsc30/package/" class="md-nav__link">
1814 Package Components
1815 </a>
1816 </li>
1817
1818
1819
1820 </ul>
1821 </nav>
1822 </li>
1823
1824
1825
1826
1827
1828
1829
1830
1831 <li class="md-nav__item md-nav__item--nested">
1832
1833
1834 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_5" type="checkbox" id="__nav_6_5" >
1835
1836 <label class="md-nav__link" for="__nav_6_5">
1837 Migrating from WCF 2.1
1838 <span class="md-nav__icon md-icon"></span>
1839 </label>
1840 <nav class="md-nav" aria-label="Migrating from WCF 2.1" data-md-level="2">
1841 <label class="md-nav__title" for="__nav_6_5">
1842 <span class="md-nav__icon md-icon"></span>
1843 Migrating from WCF 2.1
1844 </label>
1845 <ul class="md-nav__list" data-md-scrollfix>
1846
1847
1848
1849
1850
1851 <li class="md-nav__item">
1852 <a href="../../migration/wcf21/php/" class="md-nav__link">
1853 PHP API
1854 </a>
1855 </li>
1856
1857
1858
1859
1860
1861
1862
1863 <li class="md-nav__item">
1864 <a href="../../migration/wcf21/templates/" class="md-nav__link">
1865 Templates
1866 </a>
1867 </li>
1868
1869
1870
1871
1872
1873
1874
1875 <li class="md-nav__item">
1876 <a href="../../migration/wcf21/css/" class="md-nav__link">
1877 CSS
1878 </a>
1879 </li>
1880
1881
1882
1883
1884
1885
1886
1887 <li class="md-nav__item">
1888 <a href="../../migration/wcf21/package/" class="md-nav__link">
1889 Package Components
1890 </a>
1891 </li>
1892
1893
1894
1895 </ul>
1896 </nav>
1897 </li>
1898
1899
1900
1901 </ul>
1902 </nav>
1903 </li>
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915 <li class="md-nav__item md-nav__item--nested">
1916
1917
1918 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" >
1919
1920 <label class="md-nav__link" for="__nav_7">
1921 Tutorials
1922 <span class="md-nav__icon md-icon"></span>
1923 </label>
1924 <nav class="md-nav" aria-label="Tutorials" data-md-level="1">
1925 <label class="md-nav__title" for="__nav_7">
1926 <span class="md-nav__icon md-icon"></span>
1927 Tutorials
1928 </label>
1929 <ul class="md-nav__list" data-md-scrollfix>
1930
1931
1932
1933
1934
1935
1936 <li class="md-nav__item md-nav__item--nested">
1937
1938
1939 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7_1" type="checkbox" id="__nav_7_1" >
1940
1941 <label class="md-nav__link" for="__nav_7_1">
1942 Tutorial Series
1943 <span class="md-nav__icon md-icon"></span>
1944 </label>
1945 <nav class="md-nav" aria-label="Tutorial Series" data-md-level="2">
1946 <label class="md-nav__title" for="__nav_7_1">
1947 <span class="md-nav__icon md-icon"></span>
1948 Tutorial Series
1949 </label>
1950 <ul class="md-nav__list" data-md-scrollfix>
1951
1952
1953
1954
1955
1956 <li class="md-nav__item">
1957 <a href="../../tutorial/series/overview/" class="md-nav__link">
1958 Overview
1959 </a>
1960 </li>
1961
1962
1963
1964
1965
1966
1967
1968 <li class="md-nav__item">
1969 <a href="../../tutorial/series/part_1/" class="md-nav__link">
1970 Part 1
1971 </a>
1972 </li>
1973
1974
1975
1976
1977
1978
1979
1980 <li class="md-nav__item">
1981 <a href="../../tutorial/series/part_2/" class="md-nav__link">
1982 Part 2
1983 </a>
1984 </li>
1985
1986
1987
1988
1989
1990
1991
1992 <li class="md-nav__item">
1993 <a href="../../tutorial/series/part_3/" class="md-nav__link">
1994 Part 3
1995 </a>
1996 </li>
1997
1998
1999
2000 </ul>
2001 </nav>
2002 </li>
2003
2004
2005
2006 </ul>
2007 </nav>
2008 </li>
2009
2010
2011
2012 </ul>
2013</nav>
2014 </div>
2015 </div>
2016 </div>
2017
2018
2019
2020 <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
2021 <div class="md-sidebar__scrollwrap">
2022 <div class="md-sidebar__inner">
2023
2024<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2025
2026
2027
2028
2029
2030 <label class="md-nav__title" for="__toc">
2031 <span class="md-nav__icon md-icon"></span>
2032 Table of contents
2033 </label>
2034 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
2035
2036 <li class="md-nav__item">
2037 <a href="#eventkey" class="md-nav__link">
2038 EventKey
2039 </a>
2040
2041 <nav class="md-nav" aria-label="EventKey">
2042 <ul class="md-nav__list">
2043
2044 <li class="md-nav__item">
2045 <a href="#arrowdownevent-keyboardevent-boolean" class="md-nav__link">
2046 ArrowDown(event: KeyboardEvent): boolean
2047 </a>
2048
2049</li>
2050
2051 <li class="md-nav__item">
2052 <a href="#arrowleftevent-keyboardevent-boolean" class="md-nav__link">
2053 ArrowLeft(event: KeyboardEvent): boolean
2054 </a>
2055
2056</li>
2057
2058 <li class="md-nav__item">
2059 <a href="#arrowrightevent-keyboardevent-boolean" class="md-nav__link">
2060 ArrowRight(event: KeyboardEvent): boolean
2061 </a>
2062
2063</li>
2064
2065 <li class="md-nav__item">
2066 <a href="#arrowupevent-keyboardevent-boolean" class="md-nav__link">
2067 ArrowUp(event: KeyboardEvent): boolean
2068 </a>
2069
2070</li>
2071
2072 <li class="md-nav__item">
2073 <a href="#commaevent-keyboardevent-boolean" class="md-nav__link">
2074 Comma(event: KeyboardEvent): boolean
2075 </a>
2076
2077</li>
2078
2079 <li class="md-nav__item">
2080 <a href="#enterevent-keyboardevent-boolean" class="md-nav__link">
2081 Enter(event: KeyboardEvent): boolean
2082 </a>
2083
2084</li>
2085
2086 <li class="md-nav__item">
2087 <a href="#escapeevent-keyboardevent-boolean" class="md-nav__link">
2088 Escape(event: KeyboardEvent): boolean
2089 </a>
2090
2091</li>
2092
2093 <li class="md-nav__item">
2094 <a href="#tabevent-keyboardevent-boolean" class="md-nav__link">
2095 Tab(event: KeyboardEvent): boolean
2096 </a>
2097
2098</li>
2099
2100 </ul>
2101 </nav>
2102
2103</li>
2104
2105 <li class="md-nav__item">
2106 <a href="#eventhandler" class="md-nav__link">
2107 EventHandler
2108 </a>
2109
2110 <nav class="md-nav" aria-label="EventHandler">
2111 <ul class="md-nav__list">
2112
2113 <li class="md-nav__item">
2114 <a href="#identifiying-events-with-the-developer-tools" class="md-nav__link">
2115 Identifiying Events with the Developer Tools
2116 </a>
2117
2118</li>
2119
2120 <li class="md-nav__item">
2121 <a href="#addidentifier-string-action-string-callback-data-object-void-string" class="md-nav__link">
2122 add(identifier: string, action: string, callback: (data: Object) =&gt; void): string
2123 </a>
2124
2125</li>
2126
2127 <li class="md-nav__item">
2128 <a href="#fireidentifier-string-action-string-data-object" class="md-nav__link">
2129 fire(identifier: string, action: string, data?: Object)
2130 </a>
2131
2132</li>
2133
2134 <li class="md-nav__item">
2135 <a href="#removeidentifier-string-action-string-uuid-string" class="md-nav__link">
2136 remove(identifier: string, action: string, uuid: string)
2137 </a>
2138
2139</li>
2140
2141 <li class="md-nav__item">
2142 <a href="#removeallidentifier-string-action-string" class="md-nav__link">
2143 removeAll(identifier: string, action: string)
2144 </a>
2145
2146</li>
2147
2148 <li class="md-nav__item">
2149 <a href="#removeallbysuffixidentifier-string-suffix-string" class="md-nav__link">
2150 removeAllBySuffix(identifier: string, suffix: string)
2151 </a>
2152
2153</li>
2154
2155 </ul>
2156 </nav>
2157
2158</li>
2159
2160 </ul>
2161
2162</nav>
2163 </div>
2164 </div>
2165 </div>
2166
2167
2168 <div class="md-content" data-md-component="content">
2169 <article class="md-content__inner md-typeset">
2170
2171
9b8bddda 2172 <a href="https://github.com/WoltLab/docs.woltlab.com/edit/5.4/docs/javascript/new-api_events.md" title="Edit this page" class="md-content__button md-icon">
7124f4cb
WG
2173 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>
2174 </a>
2175
45ca63d0
TD
2176
2177 <h1 id="event-handling-javascript-api">Event Handling - JavaScript API<a class="headerlink" href="#event-handling-javascript-api" title="Permanent link">#</a></h1>
2178<h2 id="eventkey"><code>EventKey</code><a class="headerlink" href="#eventkey" title="Permanent link">#</a></h2>
2179<p>This class offers a set of static methods that can be used to determine if some
2180common keys are being pressed. Internally it compares either the <code>.key</code> property
2181if it is supported or the value of <code>.which</code>.</p>
2182<div class="highlight"><pre><span></span><code><span class="nx">require</span><span class="p">([</span><span class="s2">&quot;EventKey&quot;</span><span class="p">],</span> <span class="kd">function</span><span class="p">(</span><span class="nx">EventKey</span><span class="p">)</span> <span class="p">{</span>
2183 <span class="nx">elBySel</span><span class="p">(</span><span class="s2">&quot;.some-input&quot;</span><span class="p">).</span><span class="nx">addEventListener</span><span class="p">(</span><span class="s2">&quot;keydown&quot;</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">event</span><span class="p">)</span> <span class="p">{</span>
2184 <span class="k">if</span> <span class="p">(</span><span class="nx">EventKey</span><span class="p">.</span><span class="nx">Enter</span><span class="p">(</span><span class="nx">event</span><span class="p">))</span> <span class="p">{</span>
2185 <span class="c1">// the `Enter` key was pressed</span>
2186 <span class="p">}</span>
2187 <span class="p">});</span>
2188<span class="p">});</span>
2189</code></pre></div>
45ca63d0
TD
2190<h3 id="arrowdownevent-keyboardevent-boolean"><code>ArrowDown(event: KeyboardEvent): boolean</code><a class="headerlink" href="#arrowdownevent-keyboardevent-boolean" title="Permanent link">#</a></h3>
2191<p>Returns true if the user has pressed the <code>↓</code> key.</p>
2192<h3 id="arrowleftevent-keyboardevent-boolean"><code>ArrowLeft(event: KeyboardEvent): boolean</code><a class="headerlink" href="#arrowleftevent-keyboardevent-boolean" title="Permanent link">#</a></h3>
2193<p>Returns true if the user has pressed the <code>←</code> key.</p>
2194<h3 id="arrowrightevent-keyboardevent-boolean"><code>ArrowRight(event: KeyboardEvent): boolean</code><a class="headerlink" href="#arrowrightevent-keyboardevent-boolean" title="Permanent link">#</a></h3>
2195<p>Returns true if the user has pressed the <code>→</code> key.</p>
2196<h3 id="arrowupevent-keyboardevent-boolean"><code>ArrowUp(event: KeyboardEvent): boolean</code><a class="headerlink" href="#arrowupevent-keyboardevent-boolean" title="Permanent link">#</a></h3>
2197<p>Returns true if the user has pressed the <code>↑</code> key.</p>
2198<h3 id="commaevent-keyboardevent-boolean"><code>Comma(event: KeyboardEvent): boolean</code><a class="headerlink" href="#commaevent-keyboardevent-boolean" title="Permanent link">#</a></h3>
2199<p>Returns true if the user has pressed the <code>,</code> key.</p>
2200<h3 id="enterevent-keyboardevent-boolean"><code>Enter(event: KeyboardEvent): boolean</code><a class="headerlink" href="#enterevent-keyboardevent-boolean" title="Permanent link">#</a></h3>
2201<p>Returns true if the user has pressed the <code>↲</code> key.</p>
2202<h3 id="escapeevent-keyboardevent-boolean"><code>Escape(event: KeyboardEvent): boolean</code><a class="headerlink" href="#escapeevent-keyboardevent-boolean" title="Permanent link">#</a></h3>
2203<p>Returns true if the user has pressed the <code>Esc</code> key.</p>
2204<h3 id="tabevent-keyboardevent-boolean"><code>Tab(event: KeyboardEvent): boolean</code><a class="headerlink" href="#tabevent-keyboardevent-boolean" title="Permanent link">#</a></h3>
2205<p>Returns true if the user has pressed the <code>↹</code> key.</p>
2206<h2 id="eventhandler"><code>EventHandler</code><a class="headerlink" href="#eventhandler" title="Permanent link">#</a></h2>
2207<p>A synchronous event system based on string identifiers rather than DOM elements,
2208similar to the PHP event system in WoltLab Suite. Any components can listen to
2209events or trigger events itself at any time.</p>
2210<h3 id="identifiying-events-with-the-developer-tools">Identifiying Events with the Developer Tools<a class="headerlink" href="#identifiying-events-with-the-developer-tools" title="Permanent link">#</a></h3>
2211<p>The Developer Tools in WoltLab Suite 3.1 offer an easy option to identify existing
2212events that are fired while code is being executed. You can enable this watch
2213mode through your browser's console using <code>Devtools.toggleEventLogging()</code>:</p>
2214<div class="highlight"><pre><span></span><code>&gt; Devtools.toggleEventLogging();
2215&lt; Event logging enabled
2216&lt; [Devtools.EventLogging] Firing event: bar @ com.example.app.foo
2217&lt; [Devtools.EventLogging] Firing event: baz @ com.example.app.foo
2218</code></pre></div>
45ca63d0
TD
2219<h3 id="addidentifier-string-action-string-callback-data-object-void-string"><code>add(identifier: string, action: string, callback: (data: Object) =&gt; void): string</code><a class="headerlink" href="#addidentifier-string-action-string-callback-data-object-void-string" title="Permanent link">#</a></h3>
2220<p>Adding an event listeners returns a randomly generated UUIDv4 that is used to
2221identify the listener. This UUID is required to remove a specific listener through
2222the <code>remove()</code> method.</p>
2223<h3 id="fireidentifier-string-action-string-data-object"><code>fire(identifier: string, action: string, data?: Object)</code><a class="headerlink" href="#fireidentifier-string-action-string-data-object" title="Permanent link">#</a></h3>
2224<p>Triggers an event using an optional <code>data</code> object that is passed to each listener
2225by reference.</p>
2226<h3 id="removeidentifier-string-action-string-uuid-string"><code>remove(identifier: string, action: string, uuid: string)</code><a class="headerlink" href="#removeidentifier-string-action-string-uuid-string" title="Permanent link">#</a></h3>
2227<p>Removes a previously registered event listener using the UUID returned by <code>add()</code>.</p>
2228<h3 id="removeallidentifier-string-action-string"><code>removeAll(identifier: string, action: string)</code><a class="headerlink" href="#removeallidentifier-string-action-string" title="Permanent link">#</a></h3>
2229<p>Removes all event listeners registered for the provided <code>identifier</code> and <code>action</code>.</p>
2230<h3 id="removeallbysuffixidentifier-string-suffix-string"><code>removeAllBySuffix(identifier: string, suffix: string)</code><a class="headerlink" href="#removeallbysuffixidentifier-string-suffix-string" title="Permanent link">#</a></h3>
2231<p>Removes all event listeners for an <code>identifier</code> whose action ends with the value
2232of <code>suffix</code>.</p>
2233
4a5c32e1
WG
2234
2235
2236
2237<hr>
2238<div class="md-source-date">
2239 <small>
2240
2241 Last update: 2021-01-08
2242
2243 </small>
2244</div>
2245
2246
45ca63d0
TD
2247
2248
2249
2250
2251
2252
2253 </article>
2254 </div>
2255 </div>
fb962f09 2256
45ca63d0
TD
2257 </main>
2258
2259
2260<footer class="md-footer">
2261
2262 <nav class="md-footer__inner md-grid" aria-label="Footer">
2263
2264 <a href="../new-api_dom/" class="md-footer__link md-footer__link--prev" rel="prev">
2265 <div class="md-footer__button md-icon">
2266 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
2267 </div>
2268 <div class="md-footer__title">
2269 <div class="md-ellipsis">
2270 <span class="md-footer__direction">
2271 Previous
2272 </span>
2273 DOM
2274 </div>
2275 </div>
2276 </a>
2277
2278
2279 <a href="../new-api_ajax/" class="md-footer__link md-footer__link--next" rel="next">
2280 <div class="md-footer__title">
2281 <div class="md-ellipsis">
2282 <span class="md-footer__direction">
2283 Next
2284 </span>
2285 Ajax
2286 </div>
2287 </div>
2288 <div class="md-footer__button md-icon">
2289 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
2290 </div>
2291 </a>
2292
2293 </nav>
2294
2295 <div class="md-footer-meta md-typeset">
2296 <div class="md-footer-meta__inner md-grid">
2297 <div class="md-footer-copyright">
2298
2299 <div class="md-footer-copyright__highlight">
2300 Copyright © 2020 WoltLab GmbH
2301 </div>
2302
2303 Made with
2304 <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2305 Material for MkDocs
2306 </a>
fb88dc6e 2307
45ca63d0
TD
2308 </div>
2309 <div class="md-footer-copyright">
2310 <a href="https://www.woltlab.com/legal-notice/">Legal Notice</a>
2311 <a href="https://www.woltlab.com/privacy-policy/">Privacy Policy</a>
2312</div>
2313 </div>
2314 </div>
2315</footer>
2316
2317 </div>
2318 <div class="md-dialog" data-md-component="dialog">
2319 <div class="md-dialog__inner md-typeset"></div>
2320 </div>
fb962f09 2321 <script id="__config" type="application/json">{"base": "../..", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing"}, "search": "../../assets/javascripts/workers/search.fe42c31b.min.js", "version": {"provider": "mike"}}</script>
45ca63d0
TD
2322
2323
fb962f09 2324 <script src="../../assets/javascripts/bundle.d892486b.min.js"></script>
45ca63d0
TD
2325
2326
2327 </body>
2328</html>