繁体   English   中英

如何镜像文本选择?

[英]How can I mirror text selection?

假设您有两个输入:

<input id="input1" type="text"/><input id="input2" type="text"/>

这样,通过一些JavaScript魔术,您在input1中键入的任何内容也将被放入input2中。 在这个意义上,输入2为“镜像”输入1。

有没有办法我也可以“镜像”文本选择。 因此,如果我在input1中选择了一些文本,那么如何在input2中选择完全相同的文本呢?

我一直在看Microsoft的TextRange对象和Mozilla等人使用的Selection对象,但是整个混乱似乎很麻烦。 以前有人做过这样的事吗?

澄清:感谢您到目前为止的答复。 需要明确的是:我不是在问如何镜像文本。 我已经解决了那个问题。 问题仅在于选择输入1中的文本,并选择输入2中的相应文本。

据我所知,它在Firefox和Opera中非常简单。 Google Chrome和IE没那么多。 这是在FF中有效的代码:

<!DOCTYPE html>

<html>
<head>
<meta charset="UTF-8">
</head>
<body>

<input type="text" size="40" id="sel-1" value="Some long text">
<input type="text" size="40" id="sel-2" value="Some long text">

<script type="text/javascript">
var sel_1 = document.getElementById("sel-1");
var sel_2 = document.getElementById("sel-2");

document.onmousemove = function () {
    sel_2.selectionStart = sel_1.selectionStart;
    sel_2.selectionEnd   = sel_1.selectionEnd;
}
</script>
</body>
</html>

您可以执行您要询问的第一部分(例如此处的答案),但是不能执行第二部分-一次不能选择一个以上的活动范围。

如果可以使用JQuery ,则可以通过以下方式进行克隆:

$("#input1").keyup(function() { 
  $("#input2").val( $("#input1").val() );
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM