0

我正在尝试将 Google 的 Closure 库用于 HTML 编辑器。我创建了一个goog.editor.SeamlessField,但是如果我输入一个对于宽度来说太长的单词,它会在其中放置一个滚动条并覆盖文本。我该如何解决?

带有覆盖文本的SeamlessField

这似乎只发生在 Firefox 中。这是一些演示问题的 HTML:

<!DOCTYPE html>
<html>
<head>
  <script type='text/javascript' src='/closure-library/closure/goog/base.js'></script>
  <script>
  goog.require('goog.dom');
  goog.require('goog.editor.SeamlessField');
  </script>
  <script>
  function init() {
     var d = goog.dom.getElement('div1');
     var f = new goog.editor.SeamlessField(d);
     f.makeEditable();
  }
  </script>
</head>
<body>


<div style='width:150px;'>
<div id='div1'>
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
</div>
</div>

<button onclick='init();'>Create editor</button>
</body>
</html>
4

1 回答 1

0

此 SeamlessField 组件生成的 DOM 片段在 Chromium 和 Firefox 中有所不同。前者得到一个经典的 div 元素,后者发出一个 iFrame。该方案与 Firefox 如何处理内容可编辑元素有关。通过设置 iFrame 的样式,您应该能够避开滚动条。

于 2011-12-15T09:49:07.263 回答