Hi,

when you add the "click" event to your "a" elements,
remember you are passing a function!

so you could think it in this way:

[code]
//declare your fn
var clickFunction = function(e) {
  e.stop();
  //code to execute
};

$$('li a').each(function(el){
    el.addEvent('click',*clickFunction*);
  });
});

///later in the script....
  var del =  new Element('a', {'class':'delete sprite', 'title':'delete'+
player.name}).inject(li);
//code being repeated
  el.addEvent('click',*clickFunction*);

[/code]


or something like that :)
--
Andrea

On Mon, Jan 31, 2011 at 15:00, roark <[email protected]> wrote:

> 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