0
我用這段JavaScript代碼搶字立即插入符號前面:(恩「字」)的Javascript:文本選擇包括特殊字符
sel = window.getSelection()
var selectedRange = sel.getRangeAt(0);
sel.collapseToStart();
sel.modify("move", "backward", "word");
sel.modify("extend", "forward", "word");
這得到的話,即使沒有結尾的空白,但省略字末尾的特殊字符(例如,而不是「字:」只得到「字」)。
如果我在一個詞的內部包含冒號,比如「wo:rd」,它會得到全部5個字符。
雖然我確實需要獲得特殊字符。我怎樣才能做到這一點?
很好的問題,我工作的一個解決方案 - 它似乎是我們要尋找的輸出是一個「選擇」而不是「範圍」,我們需要獲取修改過的選擇的值,然後將正則表達式匹配到父節點的nodeValue,如/ value + [^ A-Za-z0-9]/ig – iamwhitebox 2015-03-30 22:57:50
' Selection.modify()'在瀏覽器之間不一致地實現,IE並沒有實現。另一種方法是[Rangy的TextRange模塊](https://github.com/timdown/rangy/wiki/Text-Range-Module)(免責聲明:由我撰寫),它在瀏覽器中始終如一地執行此操作,並允許使用正則表達式來指定構成一個詞。 – 2015-03-31 08:33:28
很酷的 – iamwhitebox 2015-03-31 17:04:24