我可以阻止“onblur”事件中的选择丢失吗?
<!DOCTYPE html>
<html xmlns = "http://www.w3.org/1999/xhtml" xml:lang = "en" lang = "en">
<head>
<meta http-equiv = "Content-Type" content = "text/html; charset=utf-8">
<script type = "text/javascript">
window.onload = function () {
var textarea = document.getElementsByTagName ("textarea")[0];
textarea.onblur = function () {
alert ("Should keep selection");
return false;
}
}
</script>
<title>Select me !</title>
</head>
<body>
<textarea>Select me !</textarea>
</body>
</html>
感谢/
答案 0 :(得分:5)
我认为这不是一个好主意。手中有鼠标的用户可以单击页面上的任意位置。如果你让他回到textarea,它将不会遵循web accessibility的原则。
答案 1 :(得分:4)
也许你的意思是你想要记住选择,即使用户专注于另一个元素,这样如果他们回到textarea,仍然会选择相同的文本。是这种情况吗?
如果是这样,我认为最简单的方法是将textarea放在同一域中的iframe中。每个文档都保留自己的选择上下文。当然,您需要从textarea读取数据,并可能将其复制到表单中的隐藏字段,因为您不能在另一个文档中的表单中包含字段,因此您需要进行一种代理
答案 2 :(得分:2)
textarea.onblur = function () {
alert ("Should keep selection");
textarea.focus();
return false;
}