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!
>