Binding a function, with a specified context, to an element. - CORRECT

from jquery ninja book

by dandoyon

HTML

<ul id="results"></ul>


<button id="test">Click Me!</button>

CSS

#results li.pass { color: green; }
#results li.fail { color: red; }

JavaScript

function assert(value, desc) {
    var li = document.createElement("li");
    li.className = value ? "pass" : "fail";
    li.appendChild(document.createTextNode(desc));
    document.getElementById("results").appendChild(li);
}

function bind(context, name) {
    return function() {
        return context[name].apply(context, arguments);
    };
}
var Button = {
    click: function() {
        this.clicked = true;
    }
};
var elem = document.getElementById("test");
elem.addEventListener("click", bind(Button, "click"), false);
$(elem).trigger("click");
assert(Button.clicked, "The clicked property was set on our object");