Показать сообщение отдельно
  #7 (permalink)  
Старый 10.02.2013, 07:22
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

$('.too').click(fn) регистрирует функцию fn в качестве обработчика события click. При наступлении события click, jQuery вызывает данную функцию, устанавливая в качестве контекста dom-элемент, на котором сработало событие.
И не имеет значения где эта функция находится. Хоть на луне.
В примере выше обработчик регистрировали в глобальном контексте, тоесть window, тем не менее this внутри обработчика не указывает на window, верно?

Другой пример:

<button class="too">Клик ми</button>
<script src="//code.jquery.com/jquery-latest.min.js"></script>
<script>
    (function(){
        alert (this);

        $('.too').click(function(e){
            $(this).hide();
        });

    // вызываем, устанавливая контекстом строку 'Луна'
    }).call('Луна');
</script>
Ответить с цитированием