Hi,

You can use only one listener and deals with event delegation.
Could you please put your code on http://jsfiddle.net/ and i'll try to help you.

--
Clément


Le 31 janv. 2011 à 15:00, roark a écrit :

> Hi Everyone,
> 
> I think I must be writing bad code here.
> 
> I will load a page with a few li's with links in them. once loaded, I
> add events to the links
> [code]
> $$('li a').each(function(el){
>               el.addEvent('click',function(e){
>                e.stop();
>                //code to execute
>               });
>       });
> [/code]
> 
> Then when I create an element dynamically I am writing the same code
> again:
> [code]
> var li =  new Element('li').inject($('ul.list'));
> var del =  new Element('a', {'class':'delete sprite',
> 'title':'delete'+player.name}).inject(li);
> //code being repeated
> el.addEvent('click',function(e){
>    e.stop();
>    //code to execute
> });
> [/code]
> 
> It may not look like much but when I send requests the code gets long
> and it seems I'm duplicating code when I add the 'click' event.
> 
> This seems like bad code to me, but can't think of a way to write it
> any more efficient
> Any input is greatly appreciated!
> 

Reply via email to