Event handler in a loop

HTML

<button>1st button</button>
<button>2nd button</button>
<button>3rd button</button>
<span></span>

JavaScript

for (var i = 0; i < 3; i++) {
    (function (i) {
        $('button:eq(' + i + ')').click(function () {
            $('span').append((i + 1) + 'button was clicked');
        });
    }(i));
}