возьмем вот такой код:
<html>
<body>
<div>my text</div>
<script type="text/javascript">
function clk(e, flag)
{
console.log(this);
console.log(e);
flag = !flag;
console.log(flag);
}
var div = document.querySelector('div');
div.onclick = clk.bind(div, false);
</script>
</body>
</html>
кликнув по div'у я заметил 2 минуса:
1. не нашел объект event который какбэ должен быть;
2. значение флага к большому сожалению не сохраняется((
и есть старое доброе обычное замыкание:
<html>
<body>
<div>my text</div>
<script type="text/javascript">
var div = document.querySelector('div');
div.onclick = function (flag)
{
return function (e)
{
console.log(this);
console.log(e);
flag = !flag;
console.log(flag);
};
}(false);
</script>
</body>
</html>
которое отрабатывает на ура.
я на сегодняшний день пришел к выводу, что bind не всегда хорош.. если меня не переубедят в обратном
п.с. тестил в хроме