@@ -56,7 +56,7 @@ function eventRegonizer(event) {
5656 case 'pointerdown' : {
5757 const listener = listeners . find ( ( { DOMNode } ) => DOMNode === event . target ) ;
5858
59- if ( ! listener ) return ;
59+ if ( ! listener ) break ;
6060
6161 const pointer = { event, start : event , preEvents : [ event ] , listener } ;
6262 if ( listener . state . pointers . length >= 1 ) {
@@ -91,7 +91,7 @@ function eventRegonizer(event) {
9191 const pointer = pointers [ pointerId ] ;
9292 // end when pointer is not known
9393 // this can happen when a pointer started outside a known dom node
94- if ( ! pointer ) return ;
94+ if ( ! pointer ) break ;
9595
9696 // update pointer
9797 pointer . event = event ;
@@ -146,7 +146,7 @@ function eventRegonizer(event) {
146146
147147 // end when pointer is not known
148148 // this can happen when a pointer started outside the screen
149- if ( ! pointer ) return ;
149+ if ( ! pointer ) break ;
150150
151151 // update pointer
152152 pointer . event = event ;
@@ -204,6 +204,9 @@ function eventRegonizer(event) {
204204 default :
205205 break ;
206206 }
207+
208+ const listener = listeners . find ( ( { DOMNode } ) => DOMNode === event . target ) ;
209+ if ( listener ) listener . eventDispatcher . dispatchEvent ( event ) ;
207210}
208211
209212function onblur ( ) {
@@ -226,17 +229,19 @@ function onblur() {
226229window . addEventListener ( 'pointerdown' , eventRegonizer ) ;
227230window . addEventListener ( 'pointermove' , eventRegonizer ) ;
228231window . addEventListener ( 'pointerup' , eventRegonizer ) ;
232+ window . addEventListener ( 'pointerover' , eventRegonizer ) ;
233+ window . addEventListener ( 'pointerout' , eventRegonizer ) ;
229234window . addEventListener ( 'pointerleave' , eventRegonizer ) ;
230235window . addEventListener ( 'pointercancel' , eventRegonizer ) ;
231- window . addEventListener ( 'contextmenu' , eventRegonizer ) ;
232236window . addEventListener ( 'blur' , onblur ) ;
233237
234238export function __unload ( ) {
235239 window . removeEventListener ( 'pointerdown' , eventRegonizer ) ;
236240 window . removeEventListener ( 'pointermove' , eventRegonizer ) ;
237241 window . removeEventListener ( 'pointerup' , eventRegonizer ) ;
242+ window . removeEventListener ( 'pointerover' , eventRegonizer ) ;
243+ window . removeEventListener ( 'pointerout' , eventRegonizer ) ;
238244 window . removeEventListener ( 'pointerleave' , eventRegonizer ) ;
239245 window . removeEventListener ( 'pointercancel' , eventRegonizer ) ;
240- window . removeEventListener ( 'contextmenu' , eventRegonizer ) ;
241246 window . removeEventListener ( 'blur' , onblur ) ;
242247}
0 commit comments