我有以下要求:
创建一个纯文本字段,该字段在单击编辑触发器时转换为文本输入元素。当离开输入元素时,文本将存储在数据库中,字段将转换回包含新内容的纯文本字段。当在输入中按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/

10-12 03:31
查看更多