Чтобы добавить ответ Веги:
Calling on()
(выпускается с JQuery 1.7) или delegate()
с событием click.dismiss.modal
означает зарегистрировать обработчик щелчка, который вызывается, когда dismiss
или modal
пространств имен передается в вызванном событии или если click
вызывается без пространства имен.
modal
не «вложенными» под dismiss
(синтаксис может ввести в заблуждение), но они рассматриваются как непосредственно «присоединен» к click
. Это означает, что click.dismiss.modal
эквивалентно click.modal.dismiss
.
Пример:
$('#elem').on('click.dismiss.modal', function() {});
$('#elem').trigger('click.dismiss'); // handler is called
$('#elem').trigger('click.modal'); // handler is called
$('#elem').trigger('click'); // handler is called
$('#elem').trigger('click.abc'); // handler is NOT called
Обратите внимание, что trigger()
, unbind()
и off()
принимать только одно пространство имен.
$('#elem').off('click.dismiss'); // now the handler is just 'click.modal'
Вы также можете отвязать с помощью .dismiss
, который удалит все события с этим пространством имен (а не только click
). Запуск не будет работать с пространством имен сам по себе; должно быть имя события перед точкой.
+1 для ссылки на jsfiddle – Kelvin
Итак, в '.on ('click.a''' .a' часть - это имя, которое вы можете просто составить, ** правильно? ** Оно не относится к что-то в рамках, но это всего лишь способ однозначно назвать ваш обработчик, чтобы вы могли ссылаться на него позже в триггере/выключенном/etc.? – AaronLS
@AaronLS Да, это правильно. Вы можете прочитать об этом http: //api.jquery .com/об/# EVENT-имена –