Path: csiph.com!feeder.erje.net!1.eu.feeder.erje.net!weretis.net!feeder4.news.weretis.net!feeder5.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: James Kirk Newsgroups: comp.lang.javascript Subject: Re: custom event in IE Date: Wed, 11 Jan 2017 21:31:45 -0500 Organization: Time Travel Tracing Lines: 81 Message-ID: <20170111213145.00007f4c@James.Kirk.invalid> References: <8bydnVoLx8BUq-nFnZ2dnUU7-bednZ2d@westnet.com.au> <4259298.GXAFRqVoOG@PointedEars.de> <20170110215212.00003a50@gmail.com> <1747068.usQuhbGJ8B@PointedEars.de> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: solani.org 1484188306 27747 eJwNzMkRwDAIBLCWvNyUgwn0X0I8o7eUDdYupia6uqAayITRxTNyxx3e3DZtntf2wzmRV0E50ieQHl1s6pj6WsC84YU+qzQrRpUDZ5mX/3pUHbg= (12 Jan 2017 02:31:46 GMT) X-Complaints-To: abuse@news.solani.org NNTP-Posting-Date: Thu, 12 Jan 2017 02:31:46 +0000 (UTC) X-Operating-System: Windows 3.0 Cancel-Lock: sha1:7DP6Z1rya5fla0kLqpgY1KuOrNg= X-User-ID: eJwFwYEBwCAIA7CbgLa4c6yT/08wYSl0GqLA4ewa5wqt8n+uKh37dhn4btscnLQSGWSTeCQLEMo= Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH4QEKEi0Ee/RCuwAAADBQTFRFAAAAERERIiIiMzMzREREVVVVZmZmd3d3iIiImZmZqqqqu7u7zMzM3d3d7u7u////exAYCgAAAeJJREFUOI110jFP20AUB/DjI/AR2FlA6pi5A+lIWxUYoVDBWuiQLh34AgghBOpQEMImMCAE2LFZUAWx3WwphHvnFYnaWSFOfD2f4+eDmJPii/4/vWf7/Ah/ZZH8b+y9ApHrF8PBmz+FENHL6ULoevRtowiqADt2AfQowN937UHogFgf/EFIcji2BmE7AaVXBt1aAvSj/xIeZSv4xZ5Dz/jiSWh+V6Brum5tKa1olSEIwhQeao7jGJUUYE78AhYmoJtinVh92JEtWZuTWBN5bbefQ1P2ZD4nHVmxkUGrJLeAk0fdNLS9qQzgU7pxcq+fzo4NjyKs1TXNBPBJXb8cIUMzCMdXq8uTFdYgdfP689x4FaH57evs+4qoaIlbGz88hNtSGIYBADGMBDCHuwm5/SPJa5wv5wDz8kqJJt7jfEKBtXQjhijZH1VAHgoDEhmb5kZJgd/bSSdLHHuPXS0pcLO4abqQfqi4qsBtuYFfMPYUaJXzTxsrOdwt5BBhaInLSg5P/VxnoQ1sVYFA5lZavO4jPMhDMOUUemzvAoEm4KRDGMHZTwR536P+pNlnhypQNxvB6NpGEA/p4JhzFRi9wJzTLQQb3DwXs4xQVQtEgzaCo+a842dw8KyAcwSLDy5SkMn1H2I//vncnGt3AAAAAElFTkSuQmCC X-NNTP-Posting-Host: eJwNxQcJwEAQADBLt4ec3vIvoQ+BKBtau5ia6Okx9jBMBGSZpFuhUoWwGj2N4yMd34L3OVdH7x1qbhsQ7szV+nqx5zfvRIgbruvLDPoBhMMfBQ== Xref: csiph.com comp.lang.javascript:32169 Thomas 'PointedEars' Lahn wrote: > James Kirk wrote: >> Andrew Poulos wrote:=20 >>> I used a try/catch and when it fails for IE the "catch" part uses >>> initCustomEvent [snip] >> I have always tried to avoid using try/catch. So just out of my own >> curiosity, why the try/catch over something liking to the function [snip] > If the global object has no CustomEvent property in the MSHTML DOM, > then such a polyfill would be a possibility. If on the other hand it > has such a property but the value of it just cannot be called a > constructor, then the value would be a reference to a host object, > and it would be unwise to try to overwrite the value. I would not agree with =E2=80=9Cunwise=E2=80=9D, ill-advised perhaps, I sup= pose it really depends on what definition was intended. No argument intended. I did not intend to infer the usage of the Polyfill example verbatim. Perhaps something similar to the following: (function () { var CustomEvent =3D function (event, params) { console.log('petaQ'); params =3D params || { bubbles: false, cancelable: false, detail: undefined }; var evt =3D document.createEvent('CustomEvent'); evt.initCustomEvent(event,=20 params.bubbles,=20 params.cancelable,=20 params.detail); return evt; } if (typeof (window.CustomEvent) =3D=3D=3D "function") { CustomEvent =3D window.CustomEvent; } /*=20 more script follows */ })(); >> or testing in a similar fashion to that function.=20 > You cannot determine whether a function can be called as a > constructor unless you try it. No know evidence to refute that. In IE 11 typeof window.CustomEvent =3D=3D=3D 'object'. I am going to surmise the same for IE 9 & 10. [url]http://caniuse.com/#feat=3Dcustomevent[/url] Presuming that support for anything older then IE 11 is not being handled. Is there a reason to redetermine if CustomEvent can be called as a constructor? As I previously stated, =E2=80=9Ccuriosity, why the try/catch=E2=80=9D, in = no way do I oppose the use of try/catch. --=20 James Kirk