@@ -39,24 +39,26 @@ export function matchesSelectorAndParentsTo(el: Node, selector: string, baseNode
3939 return false ;
4040}
4141
42- export function addEvent ( el : ?Node , event : string , handler : Function ) : void {
43- if ( ! el ) { return ; }
44- if ( el . attachEvent ) {
42+ export function addEvent ( el : ?Node , event : string , handler : Function , inputOptions ?: Object ) : void {
43+ if ( ! el ) return ;
44+ const options = { capture : true , ...inputOptions } ;
45+ if ( el . addEventListener ) {
46+ el . addEventListener ( event , handler , options ) ;
47+ } else if ( el . attachEvent ) {
4548 el . attachEvent ( 'on' + event , handler ) ;
46- } else if ( el . addEventListener ) {
47- el . addEventListener ( event , handler , true ) ;
4849 } else {
4950 // $FlowIgnore: Doesn't think elements are indexable
5051 el [ 'on' + event ] = handler ;
5152 }
5253}
5354
54- export function removeEvent ( el : ?Node , event : string , handler : Function ) : void {
55- if ( ! el ) { return ; }
56- if ( el . detachEvent ) {
55+ export function removeEvent ( el : ?Node , event : string , handler : Function , inputOptions ?: Object ) : void {
56+ if ( ! el ) return ;
57+ const options = { capture : true , ...inputOptions } ;
58+ if ( el . removeEventListener ) {
59+ el . removeEventListener ( event , handler , options ) ;
60+ } else if ( el . detachEvent ) {
5761 el . detachEvent ( 'on' + event , handler ) ;
58- } else if ( el . removeEventListener ) {
59- el . removeEventListener ( event , handler , true ) ;
6062 } else {
6163 // $FlowIgnore: Doesn't think elements are indexable
6264 el [ 'on' + event ] = null ;
0 commit comments