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, время: 19:09. |