JSFiddle - React, Tailwind, and code Playground
by rich_harris
HTML
<script src="http://cdn.ractivejs.org/edge/ractive.js"></script>
<main></main>
<script id='template' type='text/ractive'>
<h1>Hello, {{name}}!</h1>
<p>We're using Ractive.js version {{v}}.</p>
</script>
CSS
body {
font-family: 'Helvetica Neue', arial, sans-serif;
font-weight: 200;
color: #353535;
}
h1, h2, h3, h4, h5, h6 {
font-weight: 200;
}
JavaScript
var on = Ractive.prototype.on;
// With this method override, the console will show
// one
// two
//
// Without it (comment it out), it will show
// one
// one
// two
Ractive.prototype.on = function ( eventName, handler ) {
var map;
if ( typeof eventName === 'object' ) {
map = eventName;
for ( eventName in map ) {
this.off( eventName );
}
}
else if ( typeof eventName === 'string' ) {
this.off( eventName );
}
on.call( this, eventName, handler );
};
var ractive = new Ractive({
el: 'main',
template: '#template',
data: { name: 'world', v: Ractive.VERSION }
});
ractive.on( 'foo', logOne );
ractive.fire( 'foo' );
ractive.on( 'foo', logTwo );
ractive.fire( 'foo' );
function logOne () { console.log( 'one' ); }
function logTwo () { console.log( 'two' ); }