I'm following MDN
guide and trying to create an event:
MDN guide for creating events
var jGp = new Object();
...
jGp.evt = new Object();
jGp.evt.erro = new Event("jGp_evtErro");
The error is (Safari):
TypeError: '[object EventConstructor]' is not a constructor (evaluating 'new Event("jGp_evtErro")')
Also to use document.createEvent
seams to be deprecated (as MDN
says), so how should I create my event?
I'm following MDN
guide and trying to create an event:
MDN guide for creating events
var jGp = new Object();
...
jGp.evt = new Object();
jGp.evt.erro = new Event("jGp_evtErro");
The error is (Safari):
TypeError: '[object EventConstructor]' is not a constructor (evaluating 'new Event("jGp_evtErro")')
Also to use document.createEvent
seams to be deprecated (as MDN
says), so how should I create my event?
- What version f Safari are you using and what platform are you on? It works fine for me. – kinakuta Commented Mar 21, 2014 at 23:30
- Safari 5.1.10 (Snow Leopard). – Gustavo Commented Mar 22, 2014 at 1:09
1 Answer
Reset to default 7I ran into this too on Safari, I used a try/catch statement in order to use the non-deprecated constructor whenever possible, but fail into the old way if necessary.
jGp.evt = new Object();
try {
jGp.evt.erro = new Event("jGp_evtErro");
}
catch (e) {
jGp.evt.erro = document.createEvent('Event');
jGp.evt.erro.initEvent("jGp_evtErro", true, true);
}