我有一個SVG元素,我在其中創建了一個foreignObject。 foreignObject包含兩個對象textarea和div。 textarea位於div的頂部,並且是透明的。當人們輸入textarea時,文本被複制到div(一種所見即所得的編輯器)。這一切工作正常。但問題是:當你選擇textarea中的文本(100%透明)時,你看不到你選擇了哪些文本,所以現在我想創建一個代碼,將選擇複製到div中的文本中。選擇div中文本的一部分
我有以下的要位,此位會告訴我什麼是在textarea的選擇:
var start = e.target.selectionStart;
var end = e.target.selectionEnd;
(e是一個選擇的EventListener的事件)
與以下選擇文本該div:
div = $(e.target).next('div');
div = div[0];
selection = window.getSelection();
range = document.createRange();
range.selectNodeContents(div);
selection.addRange(range);
這樣的工作,但選擇div中的所有文本。我如何限制選擇只有在textarea中選擇的部分?
(此代碼是一個演示應用程序,只需要在Firefox的工作方式)
+1你真的給了我關於如何突出顯示在我查看的PDF查看器上的搜索結果的想法:) – everton