# Multiple Component Buttons Event Listener

**URL:** <https://forum.kirupa.com/t/multiple-component-buttons-event-listener/249084>\
**Category:** flash\
**Created:** [January 15, 2008, 4:33am UTC](https://forum.kirupa.com/t/multiple-component-buttons-event-listener/249084 "2008-01-15T04:33:06Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Pherank](https://avatars.discourse-cdn.com/v4/letter/p/4af34b/32.png) [@Pherank](https://forum.kirupa.com/u/Pherank)\
**Post date:** [January 15, 2008, 4:33am UTC](https://forum.kirupa.com/t/multiple-component-buttons-event-listener/249084/1 "2008-01-15T04:33:06Z")

</div>

I’m looking for a more compact way to write the following code sample - I have 10 different buttons and I’d like to write a different array to a Shared Object for each button (on click). The following code is for button 1:

```auto

bttnListener = new Object();
bttnListener.click = function(evt){
    var elemArrayOne:Array = new Array(p1, i1, e1, en1);
    //trace(evt.type + " triggered");
        Alert.show("Clicked");
//
//////WRITE FLASH COOKIE///////////////////////////////////
var elemSharedObject:SharedObject = SharedObject.getLocal("elementChoices", "/");
//
elemSharedObject.data.elemOne = elemArrayOne;
//
//Save the information in the Shared Object
elemSharedObject.flush();
//Status: Can data be written?
flushStatus = elemSharedObject.flush();
if (flushStatus == false) {
    Alert.show("Please check your Flash Player settings:");
    Alert.show("allow data to be saved to your computer as a cookie");
}
//Test data written to the Shared Object
_root.cookieValue = elemSharedObject.data.elemOne;
}
//Button listener
_root.table_mc.p1_bt.addEventListener("click", bttnListener);

```

Button 2 would need to declare “var elemArrayTwo:Array = new Array(p2, i2, e2, en2);”  
That sort of thing. It seems really redundant to keep repeating all this code and create 10 different listeners. Is there a better way?
