function elementOnFocus() {
var el = window.event.srcElement ;
el.style.background="#ccffff";
actionFocus();
}
函数里面用settimeout()控制时间来变化颜色啊

解决方案 »

  1.   

    settimeout可以吧
    <html>
    <body >
    <input class="TextBox" id="txt" type=text onfocus="elementOnFocus()" ><script language="javascript">
    var tmp = 0;
    var obj = document.getElementById("txt");
    function elementOnFocus() {
    var el = window.event.srcElement ;
    el.style.borderColor="#000000";
    for(var i=0;i<6;i++){
    setTimeout( "actionFocus()", i*1000 );
    }
    }function actionFocus(  ) {
    if(tmp==0){
    obj.style.borderColor="#FFFFFF";
    tmp=1;
    }else{
    obj.style.borderColor="#000000";
    tmp=0;
    }
    }
    </script>
    </body>
    </html>
      

  2.   

    如果用behavoir的话这句会出错 obj.style.borderColor="#FFFFFF";
    找不到obj.
      

  3.   

    <--------------高手看过来! 能不能搞定这个?
    http://community.csdn.net/Expert/topic/3472/3472337.xml?temp=.1701624
      

  4.   

    难道很少人用behavior.htc 吗 ?? 怎么没人回答
      

  5.   


    下面的应该可以,主要是 document.all(\""+element.uniqueID+"\").actionFocus  ,注意定义actionFocus 方法: <PUBLIC:method   name="actionFocus" />
    <script language="jscript">
    var actionFocusCount;
    actionFocusCount=6;function initElement() {

    }
    function elementOnFocus() {
    var el = window.event.srcElement ;
    el.style.background="#ccffff";
    actionFocus();
    }function elementOnBlur() {
    var el = window.event.srcElement ;
    el.style.background="#ffffff";
    }function actionFocus()
    {
    if(actionFocusCount%2==1)
    element.style.border="1px solid blue";
    else
    element.style.border="1px solid #ffffff";
    actionFocusCount=actionFocusCount-1;
    if(actionFocusCount>0)
    window.setTimeout("document.all(\""+element.uniqueID+"\").actionFocus()",100)
    else
       actionFocusCount=6

    }