textarea 如何做預覽??

在寫 editor 上面的 preview 功能…
(練習自刻 markdown editor.)…

<textarea id="ho"></textarea>

<script>
  jQuery(function($){
    var str = $('#ho').text();
    $('#ho').change(function() {
         //作些事情..
     }); 
  });
</script>

Code 大約長這樣
基本上就是想做 editor 的 toolbox 的 preview 按鍵…
基本的動作就是… textarea 打完會去按一個 button (這段還沒弄…)
我知道可以用 jQuery 的 change / key 等 event function…

但問題來了…
在輸入時… textarea 其實不論你怎打都是"空"的,所以用 $(‘xxx’).text() 去取值都是空的…
(用開發工具來看,就算你打了多少東西,都是空值,只是user在輸入而以…)

想請問的是像不刷頁面的情況下…
是怎去取到 textarea 的值(在不刷新頁面下,用 val / text / html 都捉不到 )??.. ajax ?還是??

還是這類型的都有先送去server再拉回資料的動作?
感謝

=====update=====

是 text() val() html() ?..的原因嗎…

亂接好像有答案~但~
不了解原理…

我記得在 jQuery 1.8 前都是用類似 obj.attr('value') 或是你所謂的 obj.html(),但是這是不對的…

因為 .html().attr('value') 都是值,而你輸入的狀況可能是一個暫存的狀況,簡單的來說

<input name="test1" value="wer" />
<input name="test2" />

這兩個使用者在輸入時,取到的 .attr('value') 到底是 “attribute” 還是 “使用者正在輸入的字串” ?

所以後來某個版本後,強制所有 input / textarea 全部使用 .val() 來取使用者輸入的值,而 .attr('value') /.html() 之類的方式來取得原值, .prop() 來取代 .attr('checked')

anyway 以上,前因後果就這樣而已