我正在尝试解决有关以下代码的问题:
<div contenteditable="true">
<label contenteditable='false'>Tag1</label>
</div>
问题是当用户将标签代码复制并粘贴到div中时,它会丢失属性“contenteditable ='false'”。这意味着,第二个标签(已复制)不再是contenteditable = false。
我知道如何解决这个问题?
我尝试了以下css代码,但它不允许用户删除标记。
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-o-user-select: none;
user-select: none;
我也发现了Sanitaze,但我认为它太多代码可以解决这个问题......
感谢
答案 0 :(得分:1)
您可以通过在粘贴后放回“contenteditable = false”属性来解决此问题:
$(document).bind("input", function(e){
$(".uneditable").attr("contenteditable", "false");
});
(这假定标签有一个“不可编辑”的类。我使用“输入”事件而不是“粘贴”事件,因为它在粘贴后(而不是之前)生效,并且它涵盖了一些其他操作,例如拖放文字。)
jsFiddle:http://jsfiddle.net/DYKbB/3/