Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Удаление выбранного элемента (http://www.flasher.ru/forum/showthread.php?t=156482)

Drakko 22.05.2011 19:05

Удаление выбранного элемента
 
Есть массив элементов, как правильно удалить кликнутый элемент из массива? пробую так:
Код AS3:

 function onClick(e:MouseEvent):void
        {
            _listObject.splice(e.currentTarget, 1);                                                                       
            e.currentTarget.removeEventListener(MouseEvent.CLICK, onClick);
 
        }


goodguy 22.05.2011 19:08

splice() принимает не сам объект, который нужно удалить, а его позицию в массиве
Код AS3:

function onClick(e:MouseEvent):void
{
      if (_listObject.indexOf(e.currentTarget) > -1)  {
            _listObject.splice(_listObject.indexOf(e.currentTarget), 1);
            e.currentTarget.removeEventListener(MouseEvent.CLICK, onClick);
      }
}

Ну или немного оптимизировать этот код:
Код AS3:

function onClick(e:MouseEvent):void
{
      var indexToSplice:int = _listObject.indexOf(e.currentTarget);
      if (indexToSplice > -1)  {
            _listObject.splice(indexToSplice, 1);
            e.currentTarget.removeEventListener(MouseEvent.CLICK, onClick);
      }
}



Часовой пояс GMT +4, время: 02:19.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.