Jquery 在contenteditable中单击文本时防止选择下一个dom

Jquery 在contenteditable中单击文本时防止选择下一个dom,jquery,html,contenteditable,Jquery,Html,Contenteditable,我有以下contenteditable div,其中包含混合文本和dom,如下所示: some text<span> which i would </span><span>like to select </span> 我想选择的一些文本 我的问题是,我想防止双击一个单词来选择span arround。例如,如果我双击单词“which”,它只会选择这个单词,这是需要的行为。但问题是,如果我选择“会”这个词,它会选择“会”。我如何在双clic事件中

我有以下contenteditable div,其中包含混合文本和dom,如下所示:

some text<span> which i would </span><span>like to select </span>
我想选择的一些文本
我的问题是,我想防止双击一个单词来选择span arround。例如,如果我双击单词“which”,它只会选择这个单词,这是需要的行为。但问题是,如果我选择“会”这个词,它会选择“会”。我如何在双clic事件中仅选择“将”而不选择span


我尝试在前后添加空格,但没有结果。

只需添加这个javascript小片段,就可以在span元素中选择单个单词:

$('span').dblclick(函数(e){
e、 预防默认值();
var selection=window.getSelection();
if(selection.toString().indexOf(“”)>-1)
{
var range=selection.getRangeAt(0);
var start=范围.STARTOFSET;
var finish=range.endOffset-1;
设置选择范围(此、开始、结束);
}
});
函数getTextNodesIn(节点){
var textNodes=[];
if(node.nodeType==3){
textNodes.push(节点);
}否则{
var children=node.childNodes;
for(变量i=0,len=children.length;i=charCount
&&(开始<结束字符计数||

(start==endCharCount&&i只需添加这个javascript小片段,就可以在span元素中选择单个单词:

$('span').dblclick(函数(e){
e、 预防默认值();
var selection=window.getSelection();
if(selection.toString().indexOf(“”)>-1)
{
var range=selection.getRangeAt(0);
var start=范围.STARTOFSET;
var finish=range.endOffset-1;
设置选择范围(此、开始、结束);
}
});
函数getTextNodesIn(节点){
var textNodes=[];
if(node.nodeType==3){
textNodes.push(节点);
}否则{
var children=node.childNodes;
for(变量i=0,len=children.length;i=charCount
&&(开始<结束字符计数||

(start==endCharCount&&i即使我在span元素之外,我的问题也会发生。例如,如果我双击span元素之外的单词“text”,我会将下面的span输入我的选择“text”,并且我只想要“text”,即使我在span元素之外,我的问题也会发生。例如,如果我双击span元素之外的单词“text”span,我在我的选择“文本”中获得以下span,我只想要“文本”