Авторский знак. Seosait21.ru Есть у человека надежда. Пока не поздно. Вгрызайся и изучай.
Нажимай и поддержи.

Пн Вт Ср Чт Пт Сб Вс
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28


Чувашия-это моя Россия

Функции unbind() и stopPropagation() в jQuery.

Бывают ситуации, когда Вам понадобиться удалить событие, которое недавно назначили элементу выборки на странице Вашего сайта. В таких случаях Вам на помощь придет функция unbind(). Чтобы корректно использовать функцию unbind() Вам необходимо создать объект jQuery с элементом, с которого Вы собираетесь удалить назначенное ранее событие. И потом добавьте туда функцию unbind(), передав данной функции имя ранее назначенного события в виде строки.

К примеру, Вам кровь из носа надо отменить реакцию всех тегов не полюбившийся Вам с классом pora class="pora", на событие щелчка левой кнопкой мыши. Вы составляете для этого такой код программы:

                    $('.pora').unbind();

И все тип-топ.

Вот, применение функции unbind() на практике:

                   $'a').mouseover(funtion() {
                   alert('Вы навели на меня курсор!');
                   });
                   $('#disable').click(funtion() {
                   $('a').unbind('mouseover');
                   });

Первые три строки назначают наведения указателя мыши функцию для все гиперссылок а документа на странице сайта. При наведении указателя мыши на ссылку появится надпись : "Вы навели на меня курсор!" . Постоянное появление сообщения такого характера быстро надоедает. Поэтому строки с четвертого по шестой дают возможность Вашему посетителю отключить оповещение: "Вы навели на меня курсор!". Если Ваш посетитель щелкает по тегу с id="disable" ( может это быть и кнопка формы), событие наведения указателя мыши ( курсора) со всех гиперссылок и сообщение, естественно, БОЛЬШЕ НЕ ПОЯВИТСЯ.

То есть выбрал нужный элемент, связал с функцией unbind() с аргументом не нужного события и все в порядке. Ценная функция unbind().

Рассмотрим такой случай, Вы присвоили события щелчка по какой-либо ссылке. Когда Вы щелкаете по ссылке, запускается событие щелчка и выполняается функция. Далее, каждый элемент потомков( тегов, в которых заключен элемент, по которому совершается щелчок) также может отреагировать на данный щелчок. Ну, например, Вы присвоили событие щелчка тегу div, внутри которого находится рассматриваемая ссылка, функция события данного тега также будет выполняться.

Это явление известно, как всплытие события (eventbubbling), реакции нескольких элементов на одно событие.

Пусть и не часто будет попадаться такая ситуация, но согласитесь неординарный случай; как быть тогда?

Тогда применяйте функцию stopPropagation(), которая препятствует присвоению события любому дочернему тегу . Функцию stopPropagation() является методом объекта события. Вы можете получить доступ к функцию stopPropagation() в рамках функции,обрабатывающей событие. Ну, например, так:

                    $('#silka').click(funtion(evt) {
                    // некое действие
                    evt.stopPropagation();// останавливает событие
                    });

seosait21.ru
HTML

seosait21.ru
CSS

seosait21.ru
Web-диз.
HTML ссылка CSS ссылка ...

seosait21.ru
JavaScript

seosait21.ru
PHP

seosait21.ru
JQuery
JavaScript ссылка PHP ссылка JQuery ссылка

seosait21.ru
SEO.

seosait21.ru
MySQL

seosait21.ru
XML
... ... ...

обратно на главную     назад    дальше     вперед

ПОНРАВИЛОСЬ?
ПОДЕЛИСЬ с ДРУЗЬЯМИ: