Html 如何使跨度标记不可删除?
我试图在“contenteditable”div中使span标记不可删除:Html 如何使跨度标记不可删除?,html,Html,我试图在“contenteditable”div中使span标记不可删除: <div contenteditable>Editable <span contenteditable="false">Read Only</span></div> 可编辑只读 只读范围实际上是只读的,但我可以用一次delete键删除整个范围。是否有一种属性方式来告诉跨度它不可删除 您正在使用jquery吗。在单击span时使用此代码: $(this).click(fu
<div contenteditable>Editable <span contenteditable="false">Read Only</span></div>
可编辑只读
只读范围实际上是只读的,但我可以用一次delete键删除整个范围。是否有一种属性方式来告诉跨度它不可删除 您正在使用jquery吗。在单击span时使用此代码:
$(this).click(function(){
$('span').remove();
}); 使div
位置:相对和span位置:绝对。这会使跨度超出正常文档流,仍在div内,但无法更改或删除:
div[内容可编辑]{
位置:相对位置;
}
div[contenteditable]span{
位置:绝对位置;
左边距:1米;
}
可编辑只读-无法触摸此
…仍然允许我删除跨度(但不编辑它)
仅通过contenteditable属性无法实现这一点。它正在按预期工作。contenteditable属性的作用是:它允许用户编辑元素的内容
考虑一个装有果酱的罐子,盒子里写着你可以改变盒子的内容。罐子上有一个标签,上面写着“你不能换这个罐子里的果酱”。这条规则并不禁止你将所说的罐子扔进垃圾桶,因为你这样做从来不会改变罐子的内容
我建议,就像Noel Widmer做的那样,你应该尝试找到另一种解决问题的方法。如果你能提供一个高保真度的例子,我们可能会建议一些替代方案。所以我找到了最好的解决方案,非常简单。不需要中的内容可编辑div。只有几个内容可编辑跨距
<div>
<span contenteditable="true">
Editable text here.
</span>
<span contenteditable="false" style="font-weight: bold">
READ ONLY VALUES
</span>
<span contenteditable="true">
Edit more stuff here
</span>
</div>
此处为可编辑文本。
只读值
在这里编辑更多内容
从何处删除?实际上没有什么听起来很清楚。您可能是被迫使用js或jquery来实现这一点的。查找所有可编辑的元素并存储其不可编辑的文本。每次编辑后,检查非编辑文本是否仍在控件内,如果不在控件内,则必须重新设置。@divy3993当我说“div contenteditable”时,它的响应就像一个文本区域。我在里面放了一个span,所以它的内容是假的,意味着我不能编辑它(即“只读”)。但是,因为整个div是contenteditable,所以我可以在html中编辑/删除。我试图使这个特定的跨度保持不变。@br4d.net这是所有的html。我刚才解释了“@br4d.net”这是一个几乎所有浏览器都支持的功能:但问题是,如果我在只读范围之后添加更多的可编辑内容,它会与只读内容相矛盾。@Alonweisfeld-我不太清楚你的意思。。。你能举个例子吗?可编辑只读-此处不能触摸更多内容“此处更多内容”将与只读值冲突,因为只读范围位置是绝对的,不会影响后面的间距。最终,目标是制作一个具有一些无法更改的值的小部件。它可以是一个输入,文本区域,或任何东西。举个更清楚的例子:如果未触及的值设置为“Danny”,我会设置一个占位符“这个孩子叫Danny,他喜欢苹果”。这应该在一个小部件中表示,以便我可以编辑除以只读方式传递的值(Danny)之外的所有内容。我已经尝试过用jQuery来实现它,但是要克服所有按键类型的情况,这是非常复杂的。任何建议都将由greatI创建一个jQuery UI演示。当然,您可以在不使用整个UI库的情况下执行此操作。这个演示不允许嵌套元素,但我希望它能为您提供一个工作的思路。