Read more

Firefox cancels any JavaScript events at a fieldset[disabled]

Arne Hartherz
November 07, 2017Software engineer at makandra GmbH

If you try to listen to events on elements that are nested inside a <fieldset disabled>, Firefox will stop event propagation once the event reaches the fieldset. Chrome and IE/Edge will propagate events.

Illustration web development

Do you need DevOps-experts?

Your development team has a full backlog? No time for infrastructure architecture? Our DevOps team is ready to support you!

  • We build reliable cloud solutions with Infrastructure as code
  • We are experts in security, Linux and databases
  • We support your dev team to perform
Read more Show archive.org snapshot

Since we often bind event listeners to document this can be annoying.

You could solve it by...

  • ...adding event listeners on elements themselves. Note that this is terrible when you have many elements that you'd register events for.
  • ...adding event listeners on a container inside the <fieldset>, around your elements.
  • ...using a custom attribute, like <fieldset no-edit> and using JavaScript to disable all controls inside it. This works nicely with Unpoly compilers or Angular directives.

See jsbin Show archive.org snapshot for an example.

Posted by Arne Hartherz to makandra dev (2017-11-07 18:24)