我需要在我的网站上发表评论。我想动态编辑这些评论。我的意思是,现在我在div中发表评论。点击"编辑" span,我想将此div更改为可编辑的textarea,修改后将能够发送。所以在发送之后我需要回来在div中显示这个新评论。
我怎么能做到这一点?
答案 0 :(得分:1)
<强>更新:强>
你的意思是 THIS ?
$('.commentEdit').click(function(){
if($(this).text()=='Edit'){ $(this).parent().prev('.commentDescription').prop('contenteditable',true);
$(this).parent().prev('.commentDescription').focus();
$(this).text('Save');
}
else{
$(this).text('Edit');
//code to save the comment
}
});
$('.commentDescription').blur(function(){
$(this).prop('contenteditable',false);
});
您可以将注释保存在.commentDescription
答案 1 :(得分:0)
尝试将contenteditable
属性设置为true
<div id="comment" contenteditable="true"></div>
如果您使用jQuery进行编辑:
$('#comment').attr('contenteditable', 'true');
删除版本:
$('#comment').removeAttr('contenteditable');
答案 2 :(得分:0)
实际上只有CSS解决方案,但不建议这样做。我将仅仅为了好奇而提供它,并展示可用解决方案的多样性。它涉及调用mozilla / chrome / safari支持的属性,但是对于CSS3标准的官方归纳从未发生过:user-modify
属性。
在我的示例中,单击复选框时div的内容变为可编辑。这支持完整的富文本粘贴。
我还使用attribute selector确定选中复选框的时间,然后使用adjacent sibling selector来应用相关媒体资源。
Here是一个jsFiddle示例,其中包含一些额外的样式。以下是一个简单的例子。
input[type=checkbox]:checked + .content {
user-modify: read-write;
-moz-user-modify: read-write;
-webkit-user-modify: read-write;
}
<input type="checkbox"> Edit
<div class="content">
This is the content, only editable when the checkbox above is checked.
</div>