diff -r fb4ed6cc0d4b -r 2fa85847ccf7 javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/OnController.java --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/OnController.java Sat Jan 12 20:24:30 2013 +0100 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/OnController.java Tue Mar 05 19:00:36 2013 +0100 @@ -30,14 +30,33 @@ this.arr = arr; } + /** Registers an event handler on associated {@link OnEvent} + * and {@link Element} + * + * @param handler the handler to be called when the event occurs + */ + public void perform(final OnHandler handler) { + for (Element e : arr) { + e.on(event, handler); + } + } + /** Registers a runnable to be performed on associated {@link OnEvent} * and {@link Element}. * * @see OnEvent#of */ - public void perform(Runnable r) { + public void perform(final Runnable r) { + class W implements OnHandler { + @Override + public void onEvent(Object event) throws Exception { + r.run(); + } + } + perform(new W()); + OnHandler w = new W(); for (Element e : arr) { - e.on(event, r); + e.on(event, w); } } }