我的公司正在建立一个CMS。作为前端Web开发人员,我被要求构建“上下文编辑”功能。如何创建上下文编辑?
这里你可以看到一个例子http://www.concrete5.org/documentation/general-topics/in-context-editing/
我想知道我们应该知道什么样的程序来建立这个?这只能通过JavaScript或一些前端工具来实现,还是需要一些服务器端语言?
谢谢。
我的公司正在建立一个CMS。作为前端Web开发人员,我被要求构建“上下文编辑”功能。如何创建上下文编辑?
这里你可以看到一个例子http://www.concrete5.org/documentation/general-topics/in-context-editing/
我想知道我们应该知道什么样的程序来建立这个?这只能通过JavaScript或一些前端工具来实现,还是需要一些服务器端语言?
谢谢。
对于单行编辑,这里是一个简单的方法来使用CSS(以及一些用于IE7的JavaScript)进行内联编辑。在您的编辑模式页面中,使用文本框来显示文本,无论处于编辑模式还是视图模式。
这里的CSS制作表单域的样子纯文本,直到它悬停或聚焦:
.inContextEdit
{
border: solid 1px transparent;
margin: -2px -3px;
padding: 1px 2px;
}
.inContextEdit.focus, /* IE7 doesn't recognize :focus */
.inContextEdit:focus,
.inContextEdit:hover
{
border-color: #ccc;
}
然后,一些JavaScript的IE7:
function focusInput(el)
{
el.className += " focus";
}
function blurInput(el)
{
el.className = el.className.replace(/ *focus\b/g, "");
}
这里是标记你将使用:
<input name="PageTitleInput"
value="Page title"
class="inContextEdit"
onfocus="focusInput(this);"
onblur="blurInput(this);" />
这个把戏将与<textarea>
,而不是<input>
,但您可能会更好地为您的多行文本找到现有的控件。 CSS可能会很棘手,隐藏在视图模式下的滚动条会很困难。有几个现有的控件与富文本功能。
将需要前端和后端工具。
我假设你正在谈论一个就地编辑器.. jquery有很多插件。
如果您需要富文本编辑器,请尝试使用TinyMCE。我用过它,也喜欢它。