2012-04-05 31 views
1

我正在寫一個函數來解析contenteditable div中的內聯單詞,並用一個定位標記替換標籤(@ ...,#...)。我在關鍵事件中發射它,並且它完美地工作。問題在於我想要在用戶點擊空間之後替換標籤,而且在他們碰到非單詞字符之後也要替換標籤。由於鍵入事件只能訪問按下的鍵,而不是輸入的實際字符,所以我無法識別標點符號。range.toString()截斷javascript鍵盤事件中的最後一個字符

我所做的只是更改爲按鍵事件,現在我的函數在創建錨時留下了標記的最後一個字符。這是我的代碼:http://jsfiddle.net/jwoah12/CcwSt/115/

wordStart和wordEnd似乎有正確的值,但j.toString()會產生錯誤的結果。

謝謝
賈裏德

回答

1

嘗試以下操作:

按鍵時,得到了輸入的字符,它保存在一個變量。 在keyup上,查看變量中的值,如果它是您正在查找的標點符號,則執行替換邏輯。

+0

謝謝!這是訣竅。但是,如果可能的話,我不想使用鍵控,因爲如果鍵入的速度太快,有時會錯過鍵控事件。 – Jared 2012-04-05 19:04:01

相關問題