如何防止在进行选择时清除文本框
how to prevent unclearing a textbox when selection is made?
我正在尝试构建一个文本编辑器,为此我使用文本区域来填充我的文本
我的问题是,当我点击一个按钮时,文本区域的选择就消失了。
以下是一些显示问题的代码:
<!DOCTYPE html>
<html>
<body>
Address:<br>
<textarea id="myTextarea">
California Road
</textarea>
<p>Click the button to select the contents of the text area.</p>
<button type="button">Try it</button>
</body>
</html>
选择不会丢失,只是在文本区域未聚焦时不会显示。在Firefox、Chrome或IE10上尝试以下代码:http://jsfiddle.net/swwqd700/
HTML部分:
Address:<br>
<textarea id="myTextarea">
California Road
</textarea>
<p>Click the button to select the contents of the text area.</p>
<button id="button">Try it</button>
Javascript部分:
function go() {
var e = document.getElementById("myTextarea");
var startPos = e.selectionStart;
var endPos = e.selectionEnd;
var selection = e.value.substring(startPos, endPos) ;
alert("It seems to have disappeared, but...'n'"" + selection + "'"");
e.focus();
}
var btn = document.getElementById("button");
btn.addEventListener(
"click",
go,
false
);
如果你想添加bbcode功能,你可能想看看这个线程:
jQuery设置文本区域中的光标位置
此外,这段代码(取自Tim Down在本线程中的Get the Highlighted/Selected text)可能会有所帮助:
function getSelectionText() {
var text = "";
if (window.getSelection) {
text = window.getSelection().toString();
} else if (document.selection && document.selection.type != "Control") {
text = document.selection.createRange().text;
}
return text;
}
相关文章:
- 如何在OnPaste方法中清除文本区域
- 如何防止在进行选择时清除文本框
- 如何使用Javascript在按Backspace键时清除文本框
- 如何从文本区域输入中清除文本
- 想要清除文本框+聚焦文本框+阻止asp.net在同一按钮上回发
- javascript onclick radio清除文本框
- 清除文本区域会中断其他JS函数
- Javascript:如何清除文本框并恢复其值
- 如何重新启用禁用的下拉列表以及如何清除文本框数据
- 如何在删除/后退/清除文本框中的文本时清除 td 内容
- 按钮在 jsfiddle 中起作用,但不清除文本编辑器中的有序列表
- jQuery/Javascript:如何使用Javascript或jQuery清除文本框上的最近搜索
- 通过单击清除文本输入
- 清除文本框,但使用 Java 脚本给出错误
- 取消选中复选框时隐藏和清除文本框
- IE 不会清除文本区域值
- JavaScript 清除文本框 DOM 仅清除顶部框
- 清除文本框字段后再次加载选择框
- 清除文本框 脚本不起作用
- 角度.js - Google 自动完成事件触发时的清除文本框