9 Jan 04:09
Re: event for attribute change of a <select> (DOMAttrModified?)
João Eiras <joao.eiras <at> gmail.com>
2007-01-09 03:09:18 GMT
2007-01-09 03:09:18 GMT
Opera works just fine with that testcase.
Mozilla, for me, on the other hand didn't get anything right.
Fulvio <www-dom <at> svsoliton.net> escreveu:
> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> <html><head><title>dynamic filters</title>
> <script type="text/javascript">
> function selectchange(select) {
> var child = document.getElementById(dynfilterhierarchy[1]);
> var foo = child.getAttribute("disabled");
> if (foo) { child.removeAttribute("disabled", 0); }
> else { child.setAttribute("disabled", "true", 0); }
> }
> function selectpropertychange(e) {
> // console.log("event: %o, target: %s, name: %s, oldvalue: %s,
> newvalue: %s, change: %s, relatednode: %o", e, e.target.id, e.attrName,
> e.prevValue, e.newValue, e.attrChange, e.relatedNode);
> alert("hello, world!");
> }
> </script>
> </head>
> <body>
> <fieldset>
> <legend>one</legend>
> <select id="dynfilter0" onchange="selectchange(this);">
> <option> </option>
> <option>Books</option>
> <option>Music</option>
> </select>
> <select id="dynfilter1" onpropertychange="selectpropertychange();">
> </select>
> <select disabled="disabled" id="dynfilter2">
> </select>
> </fieldset>
> <script type="text/javascript">
> var dynfilterhierarchy = new Array("dynfilter0", "dynfilter1",
> "dynfilter2");
> console.log(dynfilterhierarchy[1]);
> var node = document.getElementById(dynfilterhierarchy[1]);
> console.log(node);
> node.addEventListener('DOMAttrModified', selectpropertychange, false);
> </script>
> </body></html>
RSS Feed