Дэлегаванне ў jQuery
Калі вы вывучалі JavaScript, то вы ўжо сутыкаліся з тэмай дэлегавання падзей, з дапамогай якога можна, напрыклад, пазбавіцца ад праблем пры навязванні падзей для новых элементаў. Давайце паглядзім, як гэта будзе выглядаць для jQuery.
Вазьмем наступны HTML код:
<ul>
<li>text</li>
<li>text</li>
<li>text</li>
</ul>
CSS для яго выглядае так:
li {
width: 100px;
cursor: pointer;
}
Давайце цяпер, з дапамогай метаду
on,
будзем прывязваць метад click не
да пункта спісу li, як мы рабілі ў папярэдніх
уроках, а да самога спісу ul. Таксама мы перададзім
другім (неабавязковым) параметрам 'li' у якасці
селектара нашчадкаў. Паглядзім, што атрымалася:
$('ul').on('click', 'li', function() {
$(this).append('!');
});
Дадзены ul, у ім некалькі li. Пад
ul зрабіце кнопку, па націску на якую ў
канец ul будзе дадавацца новы li
з тэкстам 'пункт'. Зрабіце так, каб
пры кліку на кожны li, яму ў канец дадаваўся
'!'. Гэта павінна працаваць і для зноў
дададзеных li. Задачу вырашыце з дапамогай
дэлегавання (гэта значыць падзея павінна быць
навешана на ul).
Дадзена табліца з юзерамі з двума калонкамі: імя і
прозвішча. Пад табліцай зрабіце форму, з дапамогай
якой можна будзе дадаць новага юзера ў
табліцу. Зрабіце так, каб пры кліку на любую
ячэйку з'яўляўся prompt, з дапамогай якога
можна змяніць тэкст ячэйкі. Задачу вырашыце
з дапамогай дэлегавання (гэта значыць падзея
павінна быць навешана на table).