我收到了以下要求:
创建一个纯文本字段,在单击编辑触发器时转换为文本输入元素。当离开输入元素时,文本将存储在数据库中,并且该字段将转换回具有新内容的纯文本字段。在输入中按下ESC时,将恢复最近的值。为此,我使用以下代码:
<div id="value"><span id="text">some text</span></div>
<div id="trigger">[EDIT]</div>
<div style="display: none;" id="storage">
<input type="text" id="input" value="some text"/>
</div>
<script type="text/javascript">
$('#trigger').click(function() {
var t = $('#text').detach();
var e = $('#input').detach();
$('#storage').append(t);
$('#value').append(e);
e.focus();
});
$('#input').blur(function() {
var t = $('#text').detach();
var e = $('#input').detach();
if (t.text() != e.val()) {
$.getJSON(...);
}
$('#storage').append(e);
$('#value').append(t);
});
$('#input').keyup(function(event) {
if (event.which == 27) {
$('#input').val($('#text').text());
$('#input')[0].blur();
}
});
</script>
感谢@nnnnnn现在可行了。但是,是否有一种更简单的方法可以使用一些预先存在的API函数来实现它?
非常感谢。
答案 0 :(得分:4)
使用jquery可编辑这里是一个链接
用于演示: http://www.appelsiini.net/projects/jeditable/default.html
答案 1 :(得分:0)