Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 内容可编辑单击元素及其周围的任意位置';它是用铬合金制成的_Html_Google Chrome_Contenteditable - Fatal编程技术网

Html 内容可编辑单击元素及其周围的任意位置';它是用铬合金制成的

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中访问该链接,

在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();
    }
};