jQuery-делегирование
Егер сіз JavaScript оқыған болсаңыз, сіз жұмыс істеген боласыз тақырыппен оқиғаларды делегированиесы, оның көмегімен мысалы, жаңа элементтерге оқиғаларды тіркеу кезіндегі проблемалардан құтылуға болады. Келіңіздер, бұл jQuery үшін қалай көрінетінін қарастырайық.
Келесі HTML кодын алайық:
<ul>
<li>мәтін</li>
<li>мәтін</li>
<li>мәтін</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 үстіне тіркелуі керек).