#javascript #jquery
#javascript #jquery
Вопрос:
Доработка кода плагина jQuery.reveal (http://www.zurb.com/playground/reveal-modal-plugin ) и пытаясь понять, как он обрабатывает модальное поведение, я вижу, что он привязывает функцию closeModal (которая закрывает всплывающее окно) к событию 'click.modalEvent'
.
Но я не могу найти никакой информации об этом событии, я не знаю, принадлежит ли оно самому javascript или является частью jQuery
Ответ №1:
Если тип события содержит точку, это означает, что в нем есть пространство имен, и это пригодится, когда вы захотите отменить привязку события. Без пространств имен событий единственный способ отменить привязку функции — это отменить привязку всех событий к элементу или сохранить ссылку на саму функцию.
С помощью пространств имен вы также можете легко удалить встроенные функции.
Предположим, мы связываем два события:
$('#element').bind('click.myEvents', function(){ /* inline function */ });
$('#element').bind('keypress.myEvents', function(){ /* inline function */ });
Вы можете легко отменить привязку события, используя пространство имен, без необходимости создавать именованную функцию:
$('#element').unbind('click.myEvents');
Вы также можете сразу отменить привязку всех событий в одном пространстве имен:
// This will get rid of both the click and keypress handlers.
$('#element').unbind('.myEvents');
Для получения дополнительной информации смотрите страницу документации jQuery для unbind()
.
Комментарии:
1. вау, я думал, это было специальное событие или что-то в этомроде… никогда не прекращайте узнавать что-то новое о javascript / jquery
Ответ №2:
вероятно, это пользовательское событие. Смотрите этот пост.
Комментарии:
1. возможно, но я не вижу, где jquery.reveal определяет это тогда… единственные ссылки на modalEvent связаны с вызовами jquery.bind() и jquery.unbind().