jQuery off() и on()
Хочу немного разобраться с обработчиками событий
$(document).on('click','a', function(e) { console.log('Clicked....'); e.prevenDefault(); }Этот код блокирует все ссылки на странице. Дальше, если поместить: $(document).off('click','a.enable')По идее, это долно разблокировать ссылки с установленным классом enable Но, похоже, этого не происходит. 1) Это нормальное поведение? Пробовал и с jQuery и с Zepto. 2) По документации можно узнать, что off() нужно вызывать с теми параметрами, что и on(). Тогда какой путь существует для разрешение подобной проблемы? --- PS. Вообще стоит пользоваться Zepto? Тот же jQuery намного больше, это раз, во-вторых Zepto проще, поскольку имеет меньше неиспользуемых наворотов. |
Цитата:
Цитата:
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function() { $(document).on("click", "a", function(e) { e.preventDefault(); alert("Clicked....") }); $(document).off("click", "a"); $(document).on("click", "a:not(.enable)", function(e) { e.preventDefault(); alert("Clicked....") }) }); </script> </head> <body> <a href="http://www.yandex.ru/" title="yandex" class="yandex">yandex</a> <a href="http://javascript.ru/forum/" title="forum" class="enable">forum</a> </body> </html> |
ekkl-82, используйте в таких случаях пространства имен.
|
Часовой пояс GMT +3, время: 00:43. |