我正在尝试在GWT中创建一个自定义小部件,在其中创建一个contenteditable = true的div。问题是当我创建这个div并初始化这个小部件时,div没有contenteditable属性。
我的代码:
public MyWidget(){
FlowPanel panel = new FlowPanel();
initWidget(panel);
HTML div = new HTML("<div id=\"my-div\" contenteditable=true></div>");
div.setText("hello there");
div.addHandler(new MyWidgetKeyDownHandler(), KeyDownEvent.getType());
mDiv = div;
panel.add(div);
}
但是当我运行代码并检查源代码时,我看到了这一点:
<div>
<div class="gwt-HTML">hello there</div>
</div>
所以看起来它缺少了contenteditable标签以及id。我在这做错了什么?如何创建这个有意义的div小部件?
答案 0 :(得分:3)
div.getElement().setAttribute('contenteditable', 'true');
我会解决您对特定ID的要求。您可以使用ensureDebugId设置一个,但如果没有它,您可能会发现它更简单。