Re: [whatwg/dom] Removing event listeners through an identifier (#208)

> But I'm strongly pro an idiomatic event handling API in the core platform.

Me too, but that's also my point. This `group` thing looks more like a hack around `addEventListener`.

With today ES features we could have a new `addHandler` method where each key can be a string or a symbol so that you have your group of events represented as such:
```js
var group = {
  click(evt) { evt.preventDefault() },
  [Symbol('private')](evt) { this.pressRedButton(); },
  ['any' + thing](evt) { console.log(evt.type); }
};

el.addHandler(group, {
  capture: true,
  once: true,
  context: myObject
});

// how to remove a group ?
el.removeHandler(group);
```

This can be easily polyfilled too (via `group.handleEvent.call(context, evt)`) and would require one operation to both add and remove instead of N `add/removeEventListener` calls.

It fades out the need to create arrow function and it makes you forget about `obj.method.bind(obj)`

Or at least, that's what I'd love to have in a platform based on events.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/dom/issues/208#issuecomment-311379109

Received on Tuesday, 27 June 2017 14:39:31 UTC