function waitForEvent(event, elem) {
suspend {
var rv;
var listener_func = function(e) {
rv = e;
resume();
};
if (elem.addEventListener)
elem.addEventListener(event, listener_func, false);
else // IE special case
elem.attachEvent("on"+event, listener_func);
}
finally {
if (elem.removeEventListener)
elem.removeEventListener(event, listener_func, false);
else // IE special case
elem.detachEvent("on"+event, listener_func);
}
}
while (true) {
waitForEvent("click", document.getElementById('button1'));
alert("You clicked the button");
}