Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.08.2013, 18:40
Кандидат Javascript-наук
Отправить личное сообщение для FanAizu Посмотреть профиль Найти все сообщения от FanAizu
 
Регистрация: 08.03.2011
Сообщений: 148

вызов ф-ции обработчика как метода объекта
Например, устанавливаем обработчик на событие click(юзается jQuery):
$('.button').on('click', muFunction)


Почему нельзя указать вместо обычной ф-ции muFunction, вызов метода у определенного объекта? Как реализовать то, что я описал? Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 22.08.2013, 19:13
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,110

Сообщение от FanAizu
Как реализовать то, что я описал?
Как вариант...

<!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>

Сообщение от FanAizu
Почему нельзя указать вместо обычной ф-ции muFunction, вызов метода у определенного объекта?
Т.ч. высказывание ложное.

Последний раз редактировалось ksa, 22.08.2013 в 19:20.
Ответить с цитированием
  #3 (permalink)  
Старый 22.08.2013, 19:25
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

можно и так
<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>
Ответить с цитированием
  #4 (permalink)  
Старый 23.08.2013, 10:19
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

Сообщение от bes Посмотреть сообщение
можно и так
<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, 24.08.2013 в 19:48.
Ответить с цитированием
  #5 (permalink)  
Старый 23.08.2013, 10:22
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,110

keen, автор спросил

Сообщение от FanAizu
Почему нельзя указать вместо обычной ф-ции muFunction, вызов метода у определенного объекта?
Ему отвечают что есть разные варинты того, что можно указать. И не более того.
Ответить с цитированием
  #6 (permalink)  
Старый 23.08.2013, 15:52
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Сообщение от FanAizu
Почему нельзя указать вместо обычной ф-ции muFunction, вызов метода у определенного объекта? Как реализовать то, что я описал? Заранее спасибо.
как я понимаю, требуется вместо функции уметь передать связку (объект+метод), чтобы в методе объект был доступен через this?

$('.button').on('click', obj.myMethod.bind(obj))


если bind нету в Function.prototype, его можно добавить вручную.
Как?
искать по словам Function.prototype.bind
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов метода объекта. Armen Общие вопросы Javascript 5 05.07.2013 15:54
Как обратится к единственному свойству объекта? Shitbox2 Общие вопросы Javascript 3 05.03.2013 03:42
как узнать тип значения объекта? VHS Общие вопросы Javascript 1 07.01.2009 23:57
Можно ли получить имя экземпляра объекта внутри самого объекта? Ichigeki Общие вопросы Javascript 9 14.11.2008 19:00
как выполнить движение объекта scuter Элементы интерфейса 5 08.06.2008 23:57