Демонстрационная версия моего решения: http://codebundles.com/listDemo.swf
Вы можете добавить «чек» напротив параметров, выбранных пользователем, и удалить чек, если пользователь снова щелкнет по нему, таким образом, пользователь может отменить выбор, коснувшись объекта во второй раз. Я привык индексировать и данные в списке, но вот быстрый пример, который работает довольно гладко! Это тоже выглядит очень красиво!
list.addItemAt(0, "item 1", 0)
list.addItemAt(1, "item 2", 1)
list.addItemAt(2, "item 3", 2)
list.addItemAt(3, "item 4", 3)
list.addItemAt(4, "item 5", 4)
list.addItemAt(5, "item 6", 5)
_root.onMouseUp = function() {
selectedObject = (list.getSelectedItem().data)
tempString = (list.getSelectedItem().label)
withcheckString = "✓" + (list.getSelectedItem().label)
var stringArray:Array=tempString.split("✓");
withoutcheckString = stringArray.join("");
trace(tempString.indexOf("✓"))
if (tempString.indexOf("✓") == -1) {
list.replaceItemAt(selectedObject, withcheckString, selectedObject);
} else if (tempString.indexOf("✓") == 0) {
list.replaceItemAt(selectedObject, withoutcheckString, selectedObject);
}
}
* Одна ошибка, которую я могу увидеть, это то, что если у вас есть полоса прокрутки, как в моей демонстрации ... щелчок по перемещению вызовет событие «mouseUp» и уберет / добавит проверку вашего последнего выбранного списка элемент ... так что вы можете определить, действительно ли позиция пользователя _ymouse & _xmouse находится внутри списка, прежде чем выполнять мой код замены "✓". Не должно быть слишком сложным;)
* Кроме того, нажатие Ctrl + может больше не работать, но вы все равно можете добавить код, чтобы исправить это ...
Этот же код будет применяться к HTML ... но я уверен, что есть более полезные вещи на javascript, которые вы можете сделать с помощью html-списков, например, подсветка поля вместо того, чтобы ставить галочку напротив него ... черт, может, даже в AS2 вы Вы также можете выделить поле, которое вы выбрали ....