簡體   English   中英

在Javascript編輯器中僅編輯選擇

[英]Edit only a selection in Javascript editor

我正在一個非常專業的編輯器上工作。 簡而言之,我起草了一個代碼示例(如下),該代碼在firefox中運行。 iText函數將填寫示例內容。

用戶應選擇示例內容的一部分,然后按“ Letters”,然后iLetter函數應僅采用句子的選定部分,並將大寫字母轉換為小寫字母,僅在選擇中將大寫字母轉換為小寫字母或小寫字母(反演本身)不是問題)。

我搜索了幾個小時,以了解如何獲得所選內容在顯示的文本/字符串中的位置或如何獲得開始位置和結束位置。 如果可以提取選擇內容,將其修改為字符串(我設法做到了),然后用修改后的字符串替換選擇內容(我失敗了),那將是很好的選擇。 有可能嗎? 任何提示或建議都非常歡迎。

 <html> <head> <script> function iFrameOn(){ richTextField.document.designMode = 'On'; } function iText(){ window.frames['richTextField'].document.body.innerHTML = "Hello World ready for simple text trial?"; } function iLetters(){ var range = window.frames['richTextField'].getSelection(); range.deleteFromDocument(); } </script> </head> <body onLoad="iFrameOn();"> <h2>Edit Test</h2> <form action="parse_file.php" name="form" id="form" method="post"> <p> <div id="wysiwyg_cp" style="padding:8px; width:700px;"> <input type="button" onClick="iText()" value="Text"> <input type="button" onClick="iLetters()" value="Letters"> </div> <textarea style="display:none;" name="myTextArea" id="myTextArea" cols="100" rows="14"></textarea> <iframe name="richTextField" id="richTextField" style="border:#000000 1px solid; width:700px; height:300px;"></iframe> <!-- End replacing your normal textarea --> </p> </form> </body> </html> 

我想出了...一個很大的幫助是: 替換contenteditable div中的選定文本

該函數僅將其設置為小寫,但這是為了使示例緊湊而進行的微不足道的修改。

 <html> <head> <script> function iFrameOn(){ richTextField.document.designMode = 'On'; } function iText(){ window.frames['richTextField'].document.body.innerHTML = "HELLO WORLD READY FOR A SIMPLE TEXT TRIAL?"; } function iLetters(){ var sel, range; if (window.frames['richTextField'].getSelection) { sel = window.frames['richTextField'].getSelection(); var theSelection = sel.toString(); var replacementText = theSelection.toLowerCase(); if (sel.rangeCount) { range = sel.getRangeAt(0); range.deleteContents(); range.insertNode(window.frames['richTextField'].document.createTextNode(replacementText)); } } } </script> </head> <body onLoad="iFrameOn();"> <h2>Edit Test</h2> <form action="parse_file.php" name="form" id="form" method="post"> <p> <div id="wysiwyg_cp" style="padding:8px; width:700px;"> <input type="button" onClick="iText()" value="Text"> <input type="button" onClick="iLetters()" value="Letters"> </div> <textarea style="display:none;" name="myTextArea" id="myTextArea" cols="100" rows="14"></textarea> <iframe name="richTextField" id="richTextField" style="border:#000000 1px solid; width:700px; height:300px;"></iframe> <!-- End replacing your normal textarea --> </p> </form> </body> </html> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM