Есть ли способ удалить все привязки пространства имен в jQuery? - PullRequest
2 голосов
/ 02 февраля 2011

У меня есть простой код вроде:

$('#modal-buttons [href*=close]').bind('click.modalClose',function(){
  app().modal('close')
});

Но, скажем, я не знаю везде, где click.modalClose будет связан, есть ли способ уничтожить все эти конкретные привязки, независимо от того, какой элемент, вместо того, чтобы делать

$('#modal-buttons [href*=close],.someOtherelement,#onemore,.another').unbind('click.modalClose');

1 Ответ

6 голосов
/ 02 февраля 2011

Чтобы избавиться от всех привязок, просто сделайте:

$('*').unbind('click.modalClose');

Это получит все из них.В качестве альтернативы, вы можете убедиться, что привязка всегда происходит через ваш собственный API, а затем вы можете отслеживать, какие элементы действительно затрагиваются.(Однако, если вы собираетесь отвязать обработчики от всех элементов, с которыми они связаны, я не вижу в этом смысла, если только ваша страница не имеет эпических пропорций, а вещь $('*') занимает слишком много времени.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...