Я должен был сделать пару вещей, чтобы заставить это работать. Во-первых, при динамическом генерировании HTML я назначил уникальный класс всем элементам, которые я хотел сделать кликабельными (и имитировать поведение при нажатии). После того как отображение было сгенерировано, я вытащил все пролеты на странице следующим образом:
var span = document.getElementsByTagName('span');
, а затем перебрал их, добавив прослушиватель событий к тем, где мне нужно было нажимаемое действие:
for(var i=0; i<span.length; i++){
if (span[i].className == "firstUniqueClass") {
span[i].addEventListener("click", firstUniqueFunction, false);
} else if (span[i].className == "secondUniqueClass") {
span[i].addEventListener("click", secondUniqueFunction, false);
}
}
Короче говоря, это дает мне возможность назначать функцию всякий раз, когда происходит событие щелчка на одном из этих промежутков. К сожалению, я также хотел передать переменные своим функциям. В итоге мне пришлось кодировать их в элементе, в псевдо-RDF, а затем декодировать их в функции. Например, если бы я добавил 'data: url = "http://www.google.com/"',, я бы восстановил его так:
function copyLink(event) {
var startPos = event.currentTarget.outerHTML.indexOf('data:url="') + 10;
var endPos = event.currentTarget.outerHTML.indexOf('"', startPos + 2);
var link = event.currentTarget.outerHTML.slice(startPos, endPos);
}
Тад. Хакерский способ повторно включить событие onclick в Adobe AIR.