2013-02-09 7 views
1

У меня есть куча дивы со следующей структурой:Как повторно использовать события JQuery?

<div id="content"> 
    <span class="highlight">Hello1<span> 
    <span class="highlight">Hello2<span> 
    <span class="highlight">Hello1<span> 
    <span class="highlight">Hello2<span> 
    <span class="highlight">Hello1<span> 
    <span class="highlight">Hello2<span> 
</div> 

Я добавляю мышь 3 события на highlight в небольшой функции и на какое-то действие на DIV я меняющееся содержание Div некоторые другие теги пролетных так ранее событий мыши бесполезно по-прежнему сохраняется в памяти, что увеличивает объем памяти браузера экспоненциально, когда метки диапазона вокруг 1000 увеличиваются на МБ.

Есть ли способ, чтобы я мог повторно использовать предыдущее событие мыши тегов span для новых тегов span div div?

+2

Никто не может сказать, если вы не добавите свой код здесь. – gideon

+0

'$ ('# content'). On ('eventname', '.highlight' ...)' – zerkms

+0

Если я правильно понимаю вопрос, вы храните журнал всех событий, которые у вас есть до сих пор, вроде как отметка о пересмотре, и вы хотите применить их к каждому добавленному диапазону, не так ли? –

ответ

2

вам нужно делегировать события из родительского контейнера $(document.body), например

см http://api.jquery.com/on/

$(document.body).on('events list','selector',function(e) { 
     //do stuff 
     }) 
       .on('event list2','selector2',function(e) { 
     //do stuff 
     }) 
     //etc... 

он не будет потреблять больше памяти независимо от числа объектов, связанный с этими событиями

Смежные вопросы