RichTextBox 有这样的 dom 层次结构吗?
<iframe>
<html>
<body>
</body>
</html>
</iframe>
我发现将样式名称设置为 iframe 不起作用,必须将其设置为 body 元素。我试着这样做(在构造函数中):
Element body = ((FrameElement) getElement().cast()).getContentDocument().getBody();
body.setClassName("richTextArea");
NullPointerException 在这个男孩元素上被抛出,甚至我像这样包装它们:
Scheduler.get().scheduleDeferred(new ScheduledCommand()
{
@Override
public void execute()
{
Element body = ((FrameElement) getElement().cast()).getContentDocument().getBody();
body.setClassName("richTextArea");
}
});
而实际的问题是 RichTextBox 被渲染得很奇怪,当它附加到 DOM 时,它的内部内容(html,body)没有生成,即使我将这些行包装到 onload() 方法中,NPE 有时也会被抛出,但是如果将它们包装成一个计时器,然后安排一个相对较长的等待时间,没有 NPE,但是你知道,我不能让某些事情依赖于这个不可预测的“相对较长的等待时间”。
谁能给出解决方案?