我想制作一个表单类型的编辑器,它可以编辑页面上的文本,并在每个字段的光标外提交更改。没有字体或样式的改变,只有简单的方框。
我看到了一些像JEditable的东西,但是这些方框和需要按下'ok'来提交似乎有点不吸引人,不直观。
我想知道只是将contentEditable="true"
应用到每个元素..我想这也能达到同样的效果。因为它不会是一个表单的输入,虽然,我将不得不通过javascript提交更改,我想,但这对我的情况是可行的。(这似乎也比担心javascript的每个元素,如JEditable或类似的东西更直接。)
这是一个合理的解决方案吗?我不担心手机浏览器对这个部分的支持(希望iOS5能支持这个功能)。
明智的代码需要看起来像这样:
$(".YourElementClassHere").click(function () { $("#YourTextArea").position($(this).position()); $("#YourTextArea").css("display", "block"); }); $("#YourTextArea").click(function() { if ( event.which == 13 ) { $("#YourTextArea").css("display", "none"); // Do something to commit this: $("#YourTextArea").text(); } });
这是jQuery语法顺便说一下,对于那些不应该知道这个的人。我希望这有帮助,看到我有点生锈,这个javascript可能需要一点改变。