Use closure to pass around local variables in the event handlers
@fmmm
by kanelbula
HTML
<a id="btn" href="#">CLICK ME</a>
CoffeeScript
# Use closure to pass around local variables in the event handlers
initialise = () ->
myLocalVar = 'blablabla'
$('#btn').on 'click', do (myLocalVar) => (event) =>
event.preventDefault()
shout myLocalVar
shout = (value) ->
alert value
do initialise
###
JavaScript Output
###
"""
var initialise, shout;
initialise = function() {
var myLocalVar,
_this = this;
myLocalVar = 'blablabla';
return $('#btn').on('click', (function(myLocalVar) {
return function(event) {
event.preventDefault();
return shout(myLocalVar);
};
})(myLocalVar));
};
shout = function(value) {
return alert(value);
};
initialise();
"""