【问题标题】:editable div content in html 4html 4中的可编辑div内容
【发布时间】:2010-10-06 00:46:00
【问题描述】:

想知道是否有任何不太难的方法来编辑 html 4 中的非表单文本。我知道可以在 html 5 中设置 contentEditable 属性,但我想要比这给我更好的浏览器支持。似乎 gmail 在他们的聊天状态指示器中做了类似的事情。这在 IE6 上正常工作(我不相信它支持 html 5)。 有人见过这样做吗? 谢谢, -摩根

【问题讨论】:

  • “编辑”是什么意思?可由您(程序员)通过 Javascript 更改还是可由最终用户更改?

标签: javascript html css


【解决方案1】:

HTML5 的 contentEditable 是根据 IE 的现有属性建模的,(至少)Firefox 和 Safari 也支持该属性,因此您不必等待 HTML5 被“支持”。

这是一个非常丑陋的设计,但它确实有效。

【讨论】:

  • 还有——谢谢!听起来很安全。我想我会坚持下去,除非我害怕。
  • 这很丑,因为它需要一个简单的表单编辑过程(无需任何脚本也可以工作)并且使它变得更加复杂和脆弱。如果您只需要用户能够输入简单的文本(不是样式化的 HTML),请不要使用 contentEditable。
【解决方案2】:

您是否考虑过使用 CSS 使 <textarea> 看起来像别的东西?仅仅因为某些东西是表单控件,并不意味着它必须看起来像一次。您可以更改背景、阴影、边框等。

【讨论】:

  • 是的,这将是我的后备,但这将是一个非常小的领域——一两个词。我喜欢使用 div 的想法,因为这样让我的小部件自动调整大小会更容易。我想让它扩展以适应它的内容。
  • div 不会缩小以适应其内容;跨度会。还要考虑一个标准文本输入,它使用 JavaScript 在内容更改时自行调整大小。
【解决方案3】:

您可以在 javascript 中为大多数 dom 元素(包括 div 和表格)设置 innerText 或 innerHTML 属性。

【讨论】:

  • 对,但我希望用户能够在 div 中输入内容。我认为仅通过观看击键就可以做到,但我现在并不想编写代码来做到这一点。另外,不确定我是否可以检测光标位置。
猜你喜欢
  • 1970-01-01
  • 2013-10-03
  • 1970-01-01
  • 2015-07-21
  • 1970-01-01
  • 2021-03-09
  • 1970-01-01
  • 2013-01-14
  • 1970-01-01
相关资源
最近更新 更多