Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: jQuery [2]
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » jQuery

Страниц (2): « 1 [2]
 

16. tuareg - 17 Апреля, 2012 - 01:28:44 - перейти к сообщению
IllusionMH пишет:

если я правильно понял принцип: обработчик один, и вешается на элемент полученный перед .on, но в this передается элемент, соответствующий селектору по пути "всплытия"(или как там эта фаза когда от источника к документу) или не срабатывает)

Ну да логика следующая. Список ul в нем 100500 li Радость по клику на каждый li
что-то срабатывает. Если
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $('li').click()...
  3.  

Будет 100500 обработчиков
А если
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $('ul').on('click','li',null,function(){
  3.  
  4. })
  5.  

Только один. Тут еще тонкость(плюсик). Если мало ли еще подгузится (создастся) новый li, то при нажатии на него тоже сработает ф-я.($().live()).
А если добавить function(event)... То там столько интересного можно увидеть... Улыбка
17. IllusionMH - 17 Апреля, 2012 - 01:48:24 - перейти к сообщению
tuareg, ну с кол-вом обработчиков (1шт) и то, что при добавлении новых все равно сработает - понятно, писал когда-то такое на чистом JS, просто в коде библиотеки не смог найти как оно обрабатывается, поэтому высказал предположение.
18. etoYA - 17 Апреля, 2012 - 13:14:56 - перейти к сообщению
Скорость, оптимизация - это не особо важно, так как это админка).

 

Powered by ExBB FM 1.0 RC1