<script language="javascript">
function showState()
{
 window.status = txt.scrollHeight <= txt.clientHeight? "no scrollbar" : "scrollbar";
}
</script>
<textarea id="txt" rows="3" cols="10" style="overflow:auto" onpropertychange="showState()"></textarea>

解决方案 »

  1.   

    还有更好的主意吗?当然,无为老大的主意已经很不错了,可我总希望在执行的过程中系统的CUP占用量再小一些,因为我们的老大在验收时总喜欢打开Windows任务管理器看,如果绿色超过一半儿,他老兄就要变脸了!
      

  2.   

    really? I thought it should not be that bad. By the way, here is a modified version which tells you exactly when the scrollbar appears and disappears. Let me know how badly it performs.<script language="javascript">
    var bHasScrollbar = false;
    function showState()
    {
     var bChanged = false;
     if (txt.scrollHeight <= txt.clientHeight)
     {
    if (bHasScrollbar)
    {
    bChanged = true;
    bHasScrollbar = false;
    }
     }
     else
     {
    if (!bHasScrollbar)
    {
    bChanged = true;
    bHasScrollbar = true;
    }
     } if(bChanged)
     {
    //you can fire events here from your HTC
    dvShow.innerText = bHasScrollbar? "Scrollbar appears":"Scrollbar disappears";
     }
     else
      dvShow.innerText = "";}
    </script>
    <div id="dvShow"></div>
    <textarea id="txt" rows="3" cols="10" style="overflow:auto" onpropertychange="showState()"></textarea>
      

  3.   

    可在onpropertychange事件中进行判断,example:    propertyName = window.event.propertyName;
        
        if (propertyName == "value")
        {//if txetarea value changed ,exec     }
      

  4.   

    效果还凑合,占用量不很大,哎,javascript看来也不是特别好,看来客户端强烈需要一种快速、高效、可靠的脚本语言来表现数据。