2012-07-13 25 views
1

我試圖在textarea中創建禁用的/不可編輯的文本。我發現了一個把第一部分不可編輯的技巧 How to lock the first word of a textarea? 但我的問題是在文本的末尾。但它可能不是一個textarea「html-tag」,但它必須看起來像那樣並且可編輯。如何在textarea中使用禁用的文本

我已經研究和閱讀了很多,其他人說只是寫在外面,並告訴他們這個文本將被追加。但是,是的。這也是我的第一個想法。

有沒有一個jQuery插件或更容易做到這一點?

乾杯!第一個註釋後

編輯:

我忘了提,我需要的不可編輯的文本,以不同的顏色,這樣的textarea不會可能把它割下來。

+0

你可以,例如,檢查每個按鍵的文本是否仍然希望它有什麼結束後結束,如果它不回滾的變化。 – ryuusenshi 2012-07-13 05:40:24

+0

人可以工作。但我有不可編輯的文本動態,它可能必須在標籤或東西,以使它不同的顏色。 – index 2012-07-13 05:51:56

回答

1

我有一些工作在這裏http://jsfiddle.net/index/tX44C/2/,一直在這個工作很多已經使用contenteditable attr。但是它在Safari中仍然存在一些缺陷,當它觸發時,它會失去焦點。另外,我無法在IE瀏覽器上測試它,我認爲一些IE瀏覽器在「CSS內容」方面存在問題。

還有什麼更好的嗎?

編輯: 我對上面發佈的鏈接做了一些更改(我也編輯了鏈接),它現在似乎工作得很好。我非常滿意,所以我現在會使用它,除非有其他解決方案出現。

澄清: 在小提琴的代碼還包括限幅器和一些其它的輸入框原因我觀看CONTENTEDITABLE物具有什麼。但爲了讓文字結束,我使用CSS :aftercontent屬性和一些操作來刪除br的同時打字,以保持它的一面。

乾杯!

1

如果您使用HTML5 contenteditable屬性,則可以實現類似目的。

<div contenteditable>test <span contenteditable="false">asdf</span> asdf</div>​ 

您將能夠編輯無法編輯的部分周圍的文本,但是您將無法編輯該範圍內的文本。但是,您仍然可以通過退格鍵或選擇/刪除來刪除它。

+0

是的。我實際上已經嘗試過這個,我也遇到了可以刪除的跨度。它可以輕鬆解決我的問題。另外,在Safari瀏覽器中,您無法單擊跨度文本以外的div。 – index 2012-07-13 05:48:42

0

有一種感覺,這可能是不夠的,但我用它的情況下,用戶生成的電子郵件的簽名是固定的。這只是一些CSS騙術。

看到jsfiddle

+0

這看起來不錯,但我需要它在用戶輸入旁邊,而他正在打字。 – index 2012-07-15 02:06:22

相關問題