使用javascript输出所选文本

使用javascript输出所选文本,javascript,Javascript,我在整个文档中添加了一个事件侦听器。然而,一些奇怪的事情正在发生。选中时,仅显示输入字段中的文本。当我在标记中选择文本时,不会发生任何事情 本例使用addEventListener方法将select事件附加到元素 document.addEventListenerselect,myFunction; 函数myFunction{ 让selection=window.getSelection.toString; document.getElementByIddemo.innerHTML=选择;

我在整个文档中添加了一个事件侦听器。然而,一些奇怪的事情正在发生。选中时,仅显示输入字段中的文本。当我在标记中选择文本时,不会发生任何事情

本例使用addEventListener方法将select事件附加到元素

document.addEventListenerselect,myFunction; 函数myFunction{ 让selection=window.getSelection.toString; document.getElementByIddemo.innerHTML=选择; }
选择事件仅适用于输入元素:

根据:

事件不适用于所有语言的所有元素。对于 例如,在HTML中,select事件只能在表单和元素上调度

因此,我们也可以使用mouseup事件来检查文本选择

此示例使用addEventListener方法将select事件附加到元素

document.addEventListenermouseup,函数{ ifdocument.getSelection{ document.querySelectordemo.textContent=document.getSelection; }else ifwindow.getSelection{ document.querySelectordemo.textContent=document.getSelection; }else ifdocument.selection{ document.querySelectordemo.textContent=document.selection.createRange.text; } };
p元素没有选择事件。另一种方法是使用鼠标向上移动事件

本例使用addEventListener方法将select事件附加到元素

函数getSelectionText{ var text=; 如果window.getSelection{ text=window.getSelection.toString; }否则如果document.selection&&document.selection.type!=控件{ text=document.selection.createRange.text; } 返回文本; } document.addEventListenerselect,myFunction; 函数myFunction{ 让selection=window.getSelection.toString; document.getElementByIddemo.innerHTML=选择; } document.onmouseup=函数{ document.getElementByIddemo.innerHTML=getSelectionText; };
在DOM上需要一个mouseup侦听器。然后可以对窗口对象使用getSelection方法来获取对象。从那里,对toString方法的简单调用将为您提供所选的文本

document.addEventListenermouseup,用于选择的检查; 选择的功能检查{ var selectedText=window.getSelection.toString; 如果选择了文本{ console.logSelected Text:+selectedText; }否则{ console.logNo未选择文本; } } 第1款中的案文

在另一段中添加更多文本


Per MDN:事件[select]不适用于所有语言中的所有元素。例如,在HTML中,select事件只能在表单和元素上发送。@卢卡·基贝尔我想你误解了我的意思。我没有试图设置输入字段的值