Html 内容可编辑单击元素及其周围的任意位置';它是用铬合金制成的
在Chrome中,我有一个简单的Html 内容可编辑单击元素及其周围的任意位置';它是用铬合金制成的,html,google-chrome,contenteditable,Html,Google Chrome,Contenteditable,在Chrome中,我有一个简单的contenteditable=“true”span,如果用户单击它周围的任何地方,光标就会出现,他/她可以开始编辑。这是令人恼火的b/c我只希望光标在用户单击范围本身时显示,而不是在范围之外 例如: 下面是Html <body> <span id="hello" contenteditable="true">Hello World</span> </body> 你好,世界 如果在Chrome中访问该链接,
contenteditable=“true”span
,如果用户单击它周围的任何地方,光标就会出现,他/她可以开始编辑。这是令人恼火的b/c我只希望光标在用户单击范围本身时显示,而不是在范围之外
例如:
下面是Html
<body>
<span id="hello" contenteditable="true">Hello World</span>
</body>
你好,世界
如果在Chrome中访问该链接,请单击“呈现的html”框(jsbin中最右侧的列)中的任意位置,即可开始编辑。另一方面,在Firefox中,你必须点击实际跨度来编辑它(耶!)
我需要接受这是一个Chrome的东西,还是有一个黑客围绕它?谢谢。我强烈怀疑这只是一个网络工具包。不过,您可以通过仅在单击范围内容时使其可编辑来解决此问题 演示: HTML:
我强烈怀疑这只是一个网络工具包的东西。不过,您可以通过仅在单击范围内容时使其可编辑来解决此问题 演示: HTML:
不幸的是,如果您仍然单击“hello world”的最右侧,它将触发onclick事件并使其成为可编辑的内容。这里的截图:@IanDavis:一开始不是。如果您确保当用户单击其他位置时,跨度是不可编辑的,那么这很好,尽管有点粗糙:不幸的是,如果您仍然单击“hello world”的最右侧,它将触发onclick事件并使其成为可编辑的内容。这里的截图:@IanDavis:一开始不是。如果您确保当用户单击其他位置时,跨度是不可编辑的,那么这很好,尽管有点不正常:
<body>
<span id="hello">Hello World</span>
</body>
document.getElementById("hello").onclick = function(evt) {
if (!this.isContentEditable) {
this.contentEditable = "true";
this.focus();
}
};