Observer: this.cancel

by Gary Metzker

HTML

<script src="http://code.gmetzker.com/observerjs/Observer.js"></script>
<input type='button' value='Force Push!' id='pubButton'>
<div id='out'><h3>Output<h3></div>

JavaScript

$(document).ready(function () {


    var ob = new Observer();

    ob.subscribe('force.push', function () {
        output('Luke: Ouch!');
    });

    ob.subscribe('force.push', function () {
        output('Ob1: Blocked');
        this.cancel = true;
    });
    
    ob.subscribe('force.push', function () {
        output('Solo: Arg!!!');
    });



    $('#pubButton').on('click', function () {

        var complete = ob.publish('force.push');
        if(!complete) { output('force.push failed!'); }

    });

    function output(value) {
        $('#out').append(value + '<br/>');
    }

});