src/cm/media/js/lib/yui/yui3.0.0/examples/attribute/attribute-event_clean.html
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 0 40c8f766c9b8
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
<html>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
<head>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
<meta http-equiv="content-type" content="text/html; charset=utf-8">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
<title>Attribute Change Events</title>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
<style type="text/css">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
/*margin and padding on body element
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
  can introduce errors in determining
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
  element position and are not recommended;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
  we turn them off as a foundation for YUI
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
  CSS treatments. */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
body {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
	margin:0;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
	padding:0;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
</style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
<link type="text/css" rel="stylesheet" href="../../build/cssfonts/fonts-min.css" />
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
<script type="text/javascript" src="../../build/yui/yui-min.js"></script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
<!--begin custom header content for this example-->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
<style type="text/css">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
    #example-out .event {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
        padding:2px 2px 2px 5px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
    #example-out .event-props {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
        font-family:courier;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
        margin-top:2px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
    #example-out .event-title {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
        font-weight:bold;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
        font-family:arial;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
        color:#8dd5e7;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
        margin-top:5px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
        margin-bottom:3px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
    #example-out {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
        margin:5px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
        border:1px solid #000;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
        color:#ffffff;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
        background-color:#004c6d;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
        overflow:auto;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
        height:20em;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
    .attrs {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
        border:1px solid #000;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
        background-color:#cdcdcd;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
        margin:5px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
    .attrs .header {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
        font-weight:bold;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
        background-color:#aaa;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
        padding:5px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    64
    .attrs .body {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
        padding:10px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    66
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    68
    .attrs .footer {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    69
        padding:5px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    70
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    71
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    72
    .attrs label {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    73
        display:block;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    74
        float:left;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    75
        clear:left;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    76
        font-weight:bold;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    77
        width:8em;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    78
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    79
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    80
    .attrs #preventFoobar.hidden {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    81
        display:none;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    82
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    83
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    84
    .attrs #preventFoobar {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    85
        margin-left:5px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    86
        display:inline;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    87
        float:none;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    88
        clear:none;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    89
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    90
</style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    91
<!--end custom header content for this example-->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    92
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    93
</head>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    94
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    95
<body class=" yui-skin-sam">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    96
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    97
<h1>Attribute Change Events</h1>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    98
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    99
<div class="exampleIntro">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   100
	Attribute change events are one of the key benefits of using attributes to maintain state for your objects, instead of regular object properties. This example shows how you can listen for attribute change events and work with the event payload they receive. 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   101
			
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   102
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   103
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   104
<!--BEGIN SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   105
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   106
<div class="attrs">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   107
    <div class="header">Enter a new value and click the "Change Value" button:</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   108
    <div class="body">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   109
        <p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   110
            <label for="attrSel">Attribute</label>: 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   111
            <select id="attrSel">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   112
                <option value="foo">foo</option>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   113
                <option value="bar">bar</option>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   114
                <option value="foobar">foobar</option>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   115
            </select>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   116
            <label id="preventFoobar" class="hidden"><input type="checkbox" checked="true"> Prevent change</label>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   117
        </p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   118
        <p><label for="currentVal">Current Value</label>: <span id="currentVal"></span></p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   119
        <p><label for="newVal">New Value</label>: <input type="text" id="newVal" /></p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   120
    </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   121
    <div class="footer">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   122
        <button type="button" id="changeValue">Change Value</button>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   123
    </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   124
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   125
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   126
<div id="example-out"></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   127
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   128
<script type="text/javascript">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   129
// Get a new YUI instance 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   130
YUI({base:"../../build/", timeout: 10000}).use("node", "attribute", function(Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   131
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   132
    // Setup a custom class with attribute support
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   133
    function MyClass(cfg) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   134
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   135
        // Setup attribute configuration
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   136
        var attrs = {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   137
            "foo" : {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   138
                value:5
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   139
            },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   140
     
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   141
            "bar" : {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   142
                value:"Hello World!"
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   143
            },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   144
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   145
            "foobar" : {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   146
                value:true
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   147
            }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   148
        };
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   149
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   150
        this.addAttrs(attrs, cfg);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   151
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   152
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   153
    Y.augment(MyClass, Y.Attribute);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   154
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   155
    var o1 = new MyClass();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   156
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   157
    function displayEvent(e, title) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   158
        var str = '<div class="event"><div class="event-title">' + title + '</div>';
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   159
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   160
        if (e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   161
            str += 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   162
            '<ul class="event-props"><li>e.attrName: ' 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   163
            + e.attrName 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   164
            + '</li><li>e.prevVal: '
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   165
            + e.prevVal
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   166
            + '</li><li>e.newVal: '
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   167
            + e.newVal
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   168
            + '</li></ul></div>';
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   169
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   170
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   171
        str += '</div>';
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   172
 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   173
        Y.one("#example-out").prepend(str);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   174
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   175
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   176
    // Start Example Form Handling
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   177
    var attrSel = Y.one("#attrSel");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   178
    var newValTxt = Y.one("#newVal");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   179
    var currentValSpan = Y.one("#currentVal");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   180
    var preventFoobarChk = Y.one("#preventFoobar input[type=checkbox]");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   181
    var preventFoobarLbl = Y.one("#preventFoobar");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   182
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   183
    var attrOpts = attrSel.get("options");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   184
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   185
    function updateVal() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   186
        var selIndex = attrSel.get("selectedIndex");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   187
        var attr = attrOpts.item(selIndex).get("value");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   188
        o1.set(attr, newValTxt.get("value"));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   189
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   190
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   191
    Y.on("click", updateVal, "#changeValue");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   192
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   193
    function populateCurrentValue() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   194
        var selIndex = attrSel.get("selectedIndex");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   195
        var attr = attrOpts.item(selIndex).get("value");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   196
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   197
        currentValSpan.set("innerHTML", o1.get(attr));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   198
        newValTxt.set("value", "");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   199
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   200
        if (attr === "foobar") {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   201
            preventFoobarLbl.removeClass("hidden");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   202
        } else {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   203
            preventFoobarLbl.addClass("hidden");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   204
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   205
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   206
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   207
    populateCurrentValue();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   208
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   209
    Y.on("change", populateCurrentValue, attrSel);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   210
    // End Example Form Handling
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   211
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   212
    // Attribute Change Event Listners
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   213
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   214
    o1.after("fooChange", function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   215
        displayEvent(e, "After fooChange");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   216
        currentValSpan.set("innerHTML", e.newVal);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   217
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   218
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   219
    o1.after("barChange", function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   220
        displayEvent(e, "After barChange");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   221
        currentValSpan.set("innerHTML", e.newVal);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   222
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   223
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   224
    o1.on("foobarChange", function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   225
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   226
        if (preventFoobarChk.get("checked")) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   227
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   228
            // Calling preventDefault, in an "on" listener
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   229
            // will prevent the attribute change from occuring
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   230
            // and the after listener being called.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   231
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   232
            e.preventDefault();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   233
            displayEvent(null, "On foobarChange (prevented)");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   234
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   235
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   236
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   237
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   238
    o1.after("foobarChange", function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   239
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   240
        // This foobar after listener will not get called, 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   241
        // if we end up preventing default in the "on" 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   242
        // listener above.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   243
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   244
        displayEvent(e, "After foobarChange");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   245
        currentValSpan.set("innerHTML", e.newVal);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   246
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   247
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   248
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   249
</script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   250
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   251
<!--END SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   252
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   253
</body>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   254
</html>