On 11/06/2015 09:28 PM, Justin Fagnani wrote:
You can also override addEventListener/removeEventListener on your element. My 
concern with that, and possibly an event listener change callback, is
that it only works reliably for non-bubbling events.
How even with those? One could just add capturing event listener higher up in 
the tree.
You need to override addEventListener on EventTarget, and also relevant onfoo 
EventHandler setters on Window and Document and *Element prototypes,
but unfortunately even that doesn't catch onfoo content attributes (<div 
onclick="doSomething">). But one could use MutationObserver then to
observe changes to DOM.


-Olli



On Thu, Nov 5, 2015 at 4:16 PM, Travis Leithead <[email protected] 
<mailto:[email protected]>> wrote:

    Interesting. Alternatively, you can add .onwhatever handlers, as well as 
define your own overload of addEventListener (which will be called
    instead of the EventTarget.addEventListener method). That way you can 
capture all attempts at setting events on your element.

    -----Original Message-----
    From: Mitar [mailto:[email protected] <mailto:[email protected]>]
    Sent: Thursday, November 5, 2015 4:05 PM
    To: public-webapps <[email protected] <mailto:[email protected]>>
    Subject: Callback when an event handler has been added to a custom element

    Hi!

    We are using message ports to communicate with our logic and are wrapping 
the API into a custom element. The issue is that we would like to call
    start on a message port only after user has registered an event handler on 
the custom element instance. But it seems there is no way to get a
    callback when an event handler is added.

    So I am suggesting that there should be a callback every time an event 
listener is added to a custom element (and possibly one when removed).


    Mitar

    --
    http://mitar.tnode.com/
    https://twitter.com/mitar_m




Reply via email to