event.data
An optional object of data passed to an event method when the current executing handler is bound.
.event.data()🡢 Object
Within a for
loop, pass the value of i
to the .on()
method so that the current iteration's value is preserved.
JS
<button>0</button>
<button>1</button>
<button>2</button>
<button>3</button>
<button>4</button>
<div id="log"></div>
HTML
var logDiv = $("#log");
for (var i = 0; i < 5; i++) {
$("button")
.eq(i)
.on("click", { value: i }, function (event) {
var msgs = [
"button = " + $(this).index(),
"event.data.value = " + event.data.value,
"i = " + i,
];
logDiv.append(msgs.join(", ") + "<br>");
});
}
DEMO