2011-12-11 41 views
1

我正在嘗試這樣做。如何更改鼠標點擊Textarea的高度

  • 我想增加textarea的高度,當用戶點擊一個按鈕

爲此,我已經做了一個按鈕,這樣<a id="expandText" href="#"> Expand </a>並添加以下JavaScript

$('#expandText').click(function() { 
    $('#id_text').animate({ height: "1000px" }, 500); 
    //$('#id_text').css("height","+=85"); 
}); 

我試着兩件事

  1. 一個是動畫的文本框的高度
  2. 另一個是更改CSS,但他們都不曾先後

編輯: 我嘗試了所有已下面給出的東西,但它仍然沒有工作。難道是可能的,因爲該文本區域有一類= MCeEditor這使得這個textarea的編輯,而不僅僅是一個普通的文本區域

+3

'animate'正在處理我的問題......您正在使用哪個瀏覽器?還包括'textarea'html –

+3

小提琴演示它的工作原理:http:// jsfiddle。net/dEDfv/ –

+0

「另一個是改變CSS」 - 你能提供給我們相關的CSS嗎? –

回答

1

你說textarea有類MCeEditor - 所以我猜這是TinyMCE或類似的東西。

如果是這樣,請在您使用的任何瀏覽器中使用inspect元素(如果TinyMCE上下文菜單顯示,請按住CTRL以獲得瀏覽器上下文菜單),然後在編輯器中向下瀏覽,直到找到iframe寫作真的發生了。如果我沒有弄錯,選擇器.mceEditor iframe應該這樣做。

所有這一切的理由是,TinyMCE隱藏了你的實際textarea,並創建了一個編輯器。當你鍵入到TinyMCE中時,它將文本放回到你的textarea中,以便你可以從服務器端按預期方式檢索它。所以當你看到MCE編輯器時,並不是像你期望的那樣直接操縱你的textarea。

+0

是的,我正在使用TinyMCE,並且非常感謝有關它的工作原理的信息..但我並沒有真正理解你的檢查元素的含義。你能解釋一下我應該怎麼做 – Sachin

+0

@Sachin在正確的瀏覽器(Opera,Firefox,Safari或Chrome)中的右鍵菜單中有一個名爲「Inspect element」的元素。右鍵單擊並點擊,你會看到瀏覽器當前正在渲染的實際生成的DOM(經過JS修改等)。除了TinyMCE編輯器之外,您還會看到我的意思:-) –

0

我讀過的文檔,你可以只使用:

$('#id_text').animate({ height: 1000 }, 500); 
1

這很奇怪,因爲你的代碼應該工作。你有什麼錯誤嗎?當你在JS控制檯上直接運行$('#id_text').animate({ height: "1000px" }, 500);時它工作嗎?還有一件事是,你可能要添加「返回false」像這樣

$('#expandText').click(function() { 
    $('#id_text').animate({ height: "1000px" }, 500); 
    return false; 
}); 

避免鏈接操作,當你點擊鏈接。

編輯:您添加「這個文本區域有一類= MCeEditor」,所以我想你誤解的東西。你看到的是一個可編輯的內容(span或div),而不是一個textarea(它實際上是隱藏的)。你需要調整這個元素的大小(可能你應該使用TinyMCE API來做到這一點)。

+0

我試過返回false;但這也沒有幫助 – Sachin

+0

我剛剛添加了關於TinyMCE的更多信息。 – jcisio

0

它工作正常。在JSFiddle看到這裏http://jsfiddle.net/URkWu/

讓我知道如果你沒有看到文本框的動畫。

+0

是的,我在JSFiddle檢查它似乎工作正常。這不是js的問題,因爲另一個js代碼snipet工作正常 – Sachin