Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit 4def730

Browse files
fix(browserTrigger): do not use document.createEvent method
Firefox 23 has deprecated the use of createEvent for transition and animation events. We must now use `new TransitionEvent()` and `new AnimationEvent()` if they are available. But of course IE doesn't support this format correctly so we must wrap the attempt in a try block and revert to document.createEvent if necessary..
1 parent d50ed6b commit 4def730

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

src/ngScenario/browserTrigger.js

+14-4
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,13 @@
9696
evnt.initEvent(eventType, false, true);
9797
}
9898
else {
99-
evnt = document.createEvent('TransitionEvent');
100-
evnt.initTransitionEvent(eventType, null, null, null, eventData.elapsedTime);
99+
try {
100+
evnt = new TransitionEvent(eventType, eventData);
101+
}
102+
catch(e) {
103+
evnt = document.createEvent('TransitionEvent');
104+
evnt.initTransitionEvent(eventType, null, null, null, eventData.elapsedTime);
105+
}
101106
}
102107
}
103108
else if(/animationend/.test(eventType)) {
@@ -106,8 +111,13 @@
106111
evnt.initEvent(eventType, false, true);
107112
}
108113
else {
109-
evnt = document.createEvent('AnimationEvent');
110-
evnt.initAnimationEvent(eventType, null, null, null, eventData.elapsedTime);
114+
try {
115+
evnt = new AnimationEvent(eventType, eventData);
116+
}
117+
catch(e) {
118+
evnt = document.createEvent('AnimationEvent');
119+
evnt.initAnimationEvent(eventType, null, null, null, eventData.elapsedTime);
120+
}
111121
}
112122
}
113123
else {

0 commit comments

Comments
 (0)