簡體   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