On 22.8.2012 1:13, Tab Atkins Jr. wrote:
On Tue, Aug 21, 2012 at 4:07 PM, Glenn Maynard <gl...@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
Which does not correspond to CSS behavior and may be cofusing, any
changes would require something like
var div = createMyDiv();
parentNode.appendChild(div);
setTimeout(function(div) {div.className = 'foo';}, 0, div);
that's weird.
How about this: element is created with all attributes marked as clean,
any settings (input.value = 5; input.setAttribute('value', 5); delete
input.value; input.removeAttribute('value')) would mark such property as
dirty, and inserting new element into DOM would trigger task, that would
set up all properties based on DOM document's CAS except dirty ones. In
such case, no ambiguity would occure.
Browsers are able to do it for CSS, should be able to do it for CAS
Brona.
--
s pozdravem
Bronislav Klučka
http://www.bauglir.com <http://www.bauglir.com>
http://www.bauglir.com
bronislav.klu...@bauglir.com <mailto:bronislav.klu...@bauglir.com>
* webové aplikace
* software na zakázku