<span style="width:20px;overflow:auto;height:50" onclick="abc(this)">hsdfafasfsadfasdfsdafsdafsdaf</span>
<p></p>
<span style="width:20px;overflow:auto;height:50" onclick="abc(this)">h</span>
<script language="javascript">
<!--
function abc(wi)
{
var wid=wi.scrollWidth+"px";
var wdi=wi.style.width;
if(wdi>=wid)
alert("无横向滚动条")
else
alert("有横向滚动条")
}
//-->
</script>

解决方案 »

  1.   

    楼上没有理解我的意思,我是用程序更改 span 里的内容,可能会引起span出现滚动条,希望一旦滚动条出现就能通过某种方式知道,而不是等我去 click span的时候再去检测
      

  2.   

    那你把onclick="abc(this)"
    换为onpropertychange onchange事件即可
    即:onchange="abc(this)"
      

  3.   

    换成onpropertychange 事件
    即onpropertychange ="abc(this)"
      

  4.   

    onpropertychange 我已经试过了,没法捕捉到
    比如在 span 里面套了一个 table,改变了table里的文字,产生了 滚动条,span的onpropertychange里没有任何事件发生
      

  5.   

    SPAN 的 event 里没有 onchange 我查了 msdn
      

  6.   

    <HTML>
    <BODY>
    <span id="spanText" style="width:100;height:100;overflow:auto;border:1px solid red"></span>
    <script language="JScript">
    function OnAddText()
    {
    if(document.all["spanText"].innerHTML.length > 60)
    document.all["spanText"].innerHTML = "";
    else
    document.all["spanText"].innerHTML += "AAAA<br>";
    setTimeout("OnAddText()",500);
    }
    OnAddText();
    </script>
    </BODY></HTML>希望可以在滚动条出来的时候,能够收到消息来响应,不要每次都在函数调用里去用代码检测,这样如果操作这个 span 的代码段很多的话,非常的不方便。
      

  7.   

    正在找解决方案,css的scrollbar设置,太差了,图都不能用
      

  8.   

    clientHeight<scrollHeight时出现竖直滚动条
    clientWidth<scrollWidth时出现水平滚动条
      

  9.   

    可以找一个解决方案,使得有没有滚动条对你的DIV没引响,这样就可以不去管有没有滚动条了~~
    我已经做出来了,就是在div里面再嵌套一个DIV,外面这个DIV出现滚动条,里面的不管,如果你不会,我改天帖代码~~:)