Leave a Comment
jQuery — обработка событий с использованием Namespaced Events
Часто события навешиваются на элементы так:
$('.class').bind('click', function(){});
А когда нужно снять обработчик события с элемента, то делается это так:
$('.class').unbind('click');
При этом слетят все обработчики события click с элемента. Можно снимать только конкретный обработчик, но это не очень удобно.
Гораздо удобнее группировать обработчики в неймспэйсы по функциональности, а потом снимать обработчики всего неймспэйса:
$('.class').bind('click.namespace', function(){});
$('.class').bind('click.namespace', function(){});
$('.class').trigger('click.namespace');
$('.class').unbind('click.namespace');
При этом есть ещё один очень большой плюс: события разных неймспэйсов не вызывают обработчики друг друга, а click вызовет все обработчики
$('.class').bind('click.namespace', function(){});
$('.class').trigger('click.namespace'); // Вызовет наш обработчик
$('.class').trigger('click'); // Тоже вызовет
$('.class').trigger('click.other'); // Не вызовет
LEAVE A COMMENT
Для отправки комментария вам необходимо авторизоваться.