nodelist.html revision 30d7fa0527f813aa95468c3409140a1bef2a4e24
286N/A<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
286N/A<html>
286N/A<head>
286N/A<title>FIXME</title>
286N/A
286N/A<script type="text/javascript" src="/build/yui/yui.js"></script>
286N/A<script type="text/javascript" src="/build/event-custom/event-custom.js"></script>
286N/A<script type="text/javascript" src="/build/event-simulate/event-simulate.js"></script>
286N/A<script type="text/javascript" src="/build/event/event.js"></script>
286N/A<script type="text/javascript" src="/build/oop/oop.js"></script>
286N/A<script type="text/javascript" src="/build/base/base.js"></script>
286N/A<script type="text/javascript" src="/build/attribute/attribute.js"></script>
286N/A<script type="text/javascript" src="/build/dom/dom-debug.js"></script>
286N/A<script type="text/javascript" src="/build/node/node-debug.js"></script>
286N/A
286N/A<style type="text/css">
286N/A
286N/A</style>
286N/A</head>
286N/A<body>
286N/A<div id="demo">
286N/A <p>lorem</p>
286N/A <p title="ipsum">ipsum</p>
286N/A <p>dolor</p>
286N/A <p>sit</p>
286N/A</div>
286N/A
286N/A<script type="text/javascript">
286N/AYUI().use('*', function(Y) {
286N/A var a = ['foo', 'bar', 'baz:', 'fool'],
286N/A b = ['foo', 'baz', 'boo', 'bool'];
286N/A
286N/A nodelist = Y.all('p');
286N/A //nodelist.set('style.color', 'red');
286N/A
286N/A node = Y.get('p[title]');
286N/A
286N/A/*
286N/A1. set title on all nodes
286N/A store initial value === prevVal
286N/A2. provide prevVal array in handler
286N/A3. fire node titleChange
286N/A4. fire nodelist titleChange
286N/A*/
286N/A
286N/A node.on('innerHTMLChange', function(e) {
286N/A e.preventDefault();
286N/A e.newVal = 'hijacked val';
286N/A this._defAttrChangeFn(e);
286N/A console.log('Node: ' + e.type + ': ' + e.target._yuid);
286N/A });
286N/A //node.set('innerHTML', 'new content from Node');
286N/A
286N/A node.after('innerHTMLChange', function(e) {
286N/A console.log('Node: afterInnerHTMLChange');
286N/A });
nodelist.on('innerHTMLChange', function(e) {
//console.log('NodeList: ' + e.type + ': ' + e.target);
});
var onClick = function(e) {
//e.preventDefault();
console.log('node click');
};
nodelist.on('click', onClick);
Y.get('#demo').addNode('<p>injected content</p>');
nodelist.on('refresh', function(e) {
e.added.on('click', onClick);
});
nodelist.refresh();
nodelist.set('innerHTML', 'new content from NodeList');
console.log(Y.get('#demo').get('children').set('innerHTML', 'foo'));
});
</script>
</body>
</html>