簡體   English   中英

無法添加GWT事件處理程序

[英]Cannot add GWT event handler

我的代碼存在問題,其中將Panel附加到DIV之后未觸發GWT事件處理程序

final FormPanel form = new FormPanel();
VerticalPanel panel = new VerticalPanel();
// Other code omitted for simplicity

DOM.getElementById("modal_panel").appendChild(panel.getElement());

// Submit button
panel.add(new Button("Submit", new ClickHandler() {
 public void onClick(ClickEvent event) {
  GWT.log("Submit clicked");
  form.submit();
 }
}));

單擊提交按鈕時,它應該執行表單提交操作,但它甚至不會在DevMode控制台上顯示GWT日志。 可能是什么原因?

直接在DOM中添加小部件不是一個好主意。 添加小部件時,GWT做很多事情。 手動將元素添加到DOM會引起一些問題。 問題之一是事件不會沉沒,處理程序將無法工作。

嘗試這樣的事情:

DOM.sinkEvent(panel.getElement(), Event.ONCLICK);

添加面板后。

如果要將面板添加到現有的HTML頁面,請嘗試:

RootPanel.get("modal_panel").add(panel);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM