- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Tue, 21 Aug 2012 16:13:37 -0700
- To: Glenn Maynard <glenn@zewt.org>
- Cc: Brian Kardell <bkardell@gmail.com>, public-webapps <public-webapps@w3.org>, Ojan Vafai <ojan@chromium.org>
On Tue, Aug 21, 2012 at 4:07 PM, Glenn Maynard <glenn@zewt.org> wrote: > FWIW, while I don't find the idea of attaching event listeners this way too > interesting (maybe I could be convinced, but event capturing is already > convenient for most of these examples), being able to say "#myform input { > autocomplete: off; autocorrect: off; autocapitalize: off; }" or "a { rel: > noreferrer; }" would be great. > > Having it not apply changes dynamically seems weird, since it looks and > feels like CSS. It'd mean these two things--which look intuitively the > same, and behave the same with CSS--would be very different when parentNode > is in the document: > > var div = createMyDiv(); > parentNode.appendChild(div); // our attributes are applied > div.className = "foo"; // and we override them > > var div = createMyDiv(); > div.className = "foo"; // we set an attribute > parentNode.appendChild(div); // and it gets overwritten > > Also, the behavior of the latter is different depending on whether > parentNode is within a document or not, so it's now also dependent on > whether, for example, "document.documentElement.appendChild(parentNode)" > happens before or after. Actually, the two should be identical, because CAS is applied as a mutation observer, rather than synchronously. As long as those statements appear in the same microtask, they'll have the same behavior regardless of order (CAS will always get to override them). ~TJ
Received on Tuesday, 21 August 2012 23:14:25 UTC