유명한 DOM.appendChild 후에 이벤트를 잡으려고 애쓴다. 많은 사용 시도자를 시도한 후에 나는 this answer을 발견했는데 @ Õzbek은 청취자를 통해 일을했다. 그리고 "핸들러"가 아닌 "리스너"가 왜 작동하는지 이해하지 못합니다. 코드의 예를 들어 :리스너가 자신의 직업을 수행하는 동안 처리기가 작동하지 않는 이유는 무엇입니까?
Button button = new Button("Test button");
DOM.appendChild(getElement(), button.getElement());
button.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
GWT.log("this doesn't work");
}
});
DOM.sinkEvents(button.getElement(), Event.ONCLICK);
DOM.setEventListener(button.getElement(), new EventListener() {
public void onBrowserEvent(Event event) {
GWT.log("this works perfectly!");
}
});
리스너가 작동하지만 핸들러되지 않습니다.
- 그래서 차이점은 무엇입니까?
- 강제로 처리기를 작동시키는 방법은 무엇입니까?
- 처리기에서이를 수행 할 수있는 방법이 있습니까?
저는 리스너와 핸들러의 차이점을 이해하려고합니다. I read these answers 큰 차이가 없다는 것을 보여 주지만 여전히 이해하지 못합니다.
그러나 TextBox를 확장하고 일부 도우미를 표시하기위한 단추를 추가하려는 경우 청취자는 단 하나의 옵션 일 수 있습니다. 예를 들어 다른 옵션이없는 경우도 있습니다. –
"텍스트 상자를 확장하고 버튼을 추가"하지 않으면 복합 위젯 내에서 텍스트 상자와 버튼을 작성합니다. –