我有一個用戶添加一些文本的textarea。 提交textarea後,用戶會看到他或她輸入的文本,但它顯示了List中的每個單詞。檢測輸入文本中的更改(textarea)
<div id=0> "word0" </div>
<div id=1> "word1" </div>
現在這個頁面還存儲每個陣列中的一段話:
WordArr[0] = word0;
WordArr[1] = word1;
...
現在,用戶可以點擊每個單詞和 WordArr的點擊的話變得 WordArr[0][0] = "clicked";
現在這一切都很好。用戶現在可以使用php將文本保存在MySQL數據庫中。該數據庫還存儲原始文本,不包含div代碼。
但是用戶也可以選擇編輯文本。在這種情況下,我將原始文本加載到textarea中,但是這次我需要知道用戶是否刪除了或用戶刪除了什麼字詞,或者用戶是否在textarea的任何位置添加了一些單詞。總之,我需要跟蹤哪些div已經改變。或者,如果有任何東西已經添加到原始文本區域。所以用戶不需要重新選擇單詞。
比方說,原文是:
你好我的jQuery的朋友。我今天很開心。
那麼也許用戶刪除或添加什麼東西該文本區域:
你好我的朋友。我今天很開心。
那麼我將如何獲得對原始字符串輸入的更改,仍然保持已被點擊的div?
這幾乎看起來像你需要做一個完整的* nix'diff'命令,但在JavaScript中。有一些快速和骯髒的解決方案,但他們將有注意事項,可能無法找到所有更改。 – Russ
我試過這一個http://aehlke.github.com/tag-it/,但我不能在元素(單詞)之間寫任何東西。所以我想我被卡住了。在這個問題上花費了大約兩週的時間:( –