вызов ф-ции обработчика как метода объекта
Например, устанавливаем обработчик на событие click(юзается jQuery):
$('.button').on('click', muFunction)
Почему нельзя указать вместо обычной ф-ции muFunction, вызов метода у определенного объекта? Как реализовать то, что я описал? Заранее спасибо. |
Цитата:
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
var o={
test: function () {
alert('Ok!');
}
};
$(document).ready(function (){
$('button').click(o.test);
});
</script>
</head>
<body>
<button>Test</button>
</body>
</html>
Цитата:
|
можно и так
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<button>click</button>
<script>
function f() {
return function () {
alert("click");
}
}
$("button").on("click", f());
</script>
|
Цитата:
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<button>click</button>
<script>
function f() {
return function y() {
return function z() {
return function () {
alert("click");
}
}
}
}
$("button").on("click", f()()());
</script>
но нахрена?! |
keen, автор спросил
Цитата:
|
Цитата:
$('.button').on('click', obj.myMethod.bind(obj))
если bind нету в Function.prototype, его можно добавить вручную. Как? искать по словам Function.prototype.bind |
| Часовой пояс GMT +3, время: 10:43. |