jQuery click.modalEvent

#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().