JSFiddle - React, Tailwind, and code Playground

by rainymaple

HTML

<script src="http://github.com/downloads/SteveSanderson/knockout/knockout-2.1.0.js"></script>
<div id="main">
<table>
    <!--Form and event based bindings--><!--click and event-->
    <tr>
        <td>
            <div class="caption">click</div>
        </td>
        <td>
            <input type="text" data-bind="value: userInput"/>
            <button data-bind="click: displayValue">display value</button>
        </td>
        <td>
            <span>userInput: </span><span data-bind="text: userInput"></span>
        </td>
    </tr>
    <tr>
        <td>
            <div class="caption">event</div>
        </td>
        <td>
            <div data-bind="text:model.code, event: {mouseover: showDetails, mouseout: hideDetails}"></div>
            <div data-bind="visible:detailsAreVisible" style="background-color: yellow">
                <div data-bind="text:model.name"></div>
                <div data-bind="text:salePrice"></div>
            </div>
                        
        </td>
        <td>
            <span>detailsAreVisible: </span><span data-bind="text: detailsAreVisible"></span>
        </td>
    </tr>
</table>
</div>

CSS

em{font-weight:bold;}
@font-face {
    font-family: 'SansationRegular';
    src: url('../fonts/Sansation_Regular-webfont.eot');
    src: url('../fonts/Sansation_Regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/Sansation_Regular-webfont.woff') format('woff'),
         url('../fonts/Sansation_Regular-webfont.ttf') format('truetype'),
         url('../fonts/Sansation_Regular-webfont.svg#SansationRegular') format('svg');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'SansationLight';
    src: url('../fonts/Sansation_Light-webfont.eot');
    src: url('../fonts/Sansation_Light-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/Sansation_Light-webfont.woff') format('woff'),
         url('../fonts/Sansation_Light-webfont.ttf') format('truetype'),
         url('../fonts/Sansation_Light-webfont.svg#SansationLight') format('svg');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'SansationBold';
    src: url('../fonts/Sansation_Bold-webfont.eot');
    src: url('../fonts/Sansation_Bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/Sansation_Bold-webfont.woff') format('woff'),
         url('../fonts/Sansation_Bold-webfont.ttf') format('truetype'),
         url('../fonts/Sansation_Bold-webfont.svg#SansationBold') format('svg');
    font-weight: normal;
    font-style: normal;

}

body {padding : 10px; }
body, input, select {font: 14px 'Segoe UI', 'SansationRegular', Arial, sans-serif;}
.page {    
}
.showroom {
}
.header 
{
    margin-bottom: 20px;
}
span {
    /*font: 12px 'SansationRegular', 'Segoe UI', Arial, sans-serif;*/
    margin: 0 4px 0 4px;
    color: black;
}
/*
ul li span { 
        float: left;
        width: 40px;
}
*/
.alignedCaption {
        float: left;
        width: 40px;
}
/*.text*/
.textValues {
    margin: 0 4px 0 4px;
    color: rgb(47, 123, 163);
}
.caption {
    /*font: 12px 'SansationBold', 'Segoe...

JavaScript

var my = {}; //my namespace
my.viewmodel = {
    metadata: {
        pageTitle: "Knockout: Built-In Bindings (click and event and visible)",
        personal: {
            link: "http://twitter.com/john_papa",
            text: "@john_papa"
        }
    },
    // text/html
    id: ko.observable("123"),
    model: {
        code: ko.observable("314ce"),
        name: ko.observable("Taylor 314 ce")
    },

    // value & valueUpdate                
    salePrice: ko.observable(1995),

    // click and event and visible
    userInput: ko.observable(""),
    displayValue: function () {
        if (this.userInput().length > 0) {
            window.alert("You entered: " + this.userInput());
        }
    },

    // event
    detailsAreVisible: ko.observable(false),
    showDetails: function () {
        this.detailsAreVisible(true);
    },
    hideDetails: function () {
        this.detailsAreVisible(false);
    }
                


};
ko.applyBindings(my.viewmodel);