因为你disabled以后,就不能操作了

解决方案 »

  1.   

    这样理解也可以,但实际上,设置disabled=true后,onpropertychange 无法捕捉到 x.disabled=true 事件,却可以捕捉到其他属性改变的事件,由此更像一个疏忽。大家有没有办法搞定之?
      

  2.   

    disabled之后,可以读写value等属性,但不可捕捉onpropertychange事件,
    可以试试,在disabled为false时,value等的改变都触发onpropertychange,为true则不行。如果仅仅要读到bx.disabled,在onclick中再加一句不就可以了
    <HTML>
    <BODY>
    <INPUT id=bx type="button" value="Button" onpropertychange="alert(this.disabled)">
    <INPUT type="button" value="enabled/disabled" onclick="bx.disabled=(!bx.disabled);//alert(bx.disabled)">
    <input type=button value="bxrename" onclick="bx.value='change'">
    </body>
    </HTML>
      

  3.   

    disabled之后,不光那个事件,onclick都不会好用的,不信这下面问题的提交按钮就是这么搞的,可以防止你重复提交
      

  4.   

    这个问题是我在试图解决http://www.csdn.net/expert/topic/616/616249.xml?temp=.3628046
    时发现的。在一般的网页里,这个问题是可以绕过的,但我想在htc中实现一个同html元素一样的disabled属性,如果想利用onpropertychange,就绕不过了。其实这两个问题问的是浏览器编程的功力,而不是技巧。
      

  5.   

    我觉得,既然onpropertychange,肯定有改变属性的代码,你在触发html元素disabled改变的代码后再加个读disabled值的语句就可以了啊。或者干脆用一个函数不断侦听disabled的值(如隐含幀不断刷新),让htc中控件与它保持一致就行了
      

  6.   

    try
    <HTML>
    <script language="javascript">
    function init()
    {
     bx.setExpression('disabled','getDisabled()');
    }function getDisabled()
    {
      //window.status = new Date().toString();
      window.status = " disabled:" + bx.disabled;
      return bx.disabled;
    }
    </script>
    <BODY onload="init()">
    <INPUT id=bx type="button" value="Button">
    <INPUT type="button" value="enabled/disabled" onclick="bx.disabled=(!bx.disabled);">
    </body>
    </HTML>
      

  7.   

    这个问题看来结不了了,不过 karma(无为) 已经帮我解决了http://www.csdn.net/expert/topic/616/616249.xml?temp=.3628046
    就不再讨论了。