我有以下要求:
创建一个纯文本字段,该字段在单击编辑触发器时转换为文本输入元素。当离开输入元素时,文本将存储在数据库中,字段将转换回包含新内容的纯文本字段。当在输入中按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函数可能有更简单的方法来实现这一点吗?
非常感谢。
最佳答案
使用jquery可编辑这里是一个链接
演示:
http://www.appelsiini.net/projects/jeditable/default.html
对于插件主页
http://www.appelsiini.net/projects/jeditable
关于javascript - jquery/javascript将纯文本消息转换为文本输入字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9915262/