我可以在Internet Explorer中使用此代码获取所选文本:
var selectedText;
// IE version
if (document.selection != undefined)
{
textComponent.focus();
var sel = document.selection.createRange();
selectedText = sel.text;
}
但是,如何删除TEXTAREA中的选定文本,例如,在Google Chrome和Internet Explorer中使用JavaScript?
答案 0 :(得分:1)
您可能需要稍微使用索引,但下面的代码应该或多或少有效。
var originalText = document.getElementById("yourTextAreaId").value;
var selectedText = window.getSelection();
var startIndex = originalText.indexOf(selectedText) + 1;
var endIndex = startIndex + selectedText.length;
var newText = originalText.substring(0,startIndex) + orignalText.substring(endIndex);
document.getElementById("yourTextAreaId").value = newText
答案 1 :(得分:1)
user2793390给出的答案并不完全正确! 如果所选文本不是全文中第一次出现,则它不起作用!
我有类似的问题,我使用了另一种方法!
var selectedElemnt = document.getElementById("yourTextAreaId");
var selectedText = selectedElemnt.value;
var newText = selectedText.substr(0, selectedElemnt.selectionStart) + selectedText.substr(selectedElemnt.selectionEnd);
selectedElemnt.value = newText;
答案 2 :(得分:0)
如果您正在处理IE v9或更高版本,请使用适用于所有现代浏览器的window.getSelection()
。