<script language="javascript">
function sss(){
alert("sss");
}
function ttt(){
alert("ttt");
}
</script>
</head><body>
<input type="text" onblur="sss()" />
<input type="button" onclick="ttt()" />让text得到焦点,当text失去焦点的时候出发sss函数打印出sss,但是我想点击按钮触发ttt函数打印ttt,系统默认text先失去焦点所以执行sss函数,点击按钮无效,请问如何点击按钮时不触发sss函数。

解决方案 »

  1.   

    LZ试下
    <html>
    <head><title>test</title>
    <script language="javascript">
    function sss(){
    document.getElementById("d1").innerText = "sss";
    }
    function ttt(){
    alert("ttt");
    }
    </script>
    </head><body>
    <input type="text" onblur="sss()" />
    <input type="button" onclick="ttt()" />
    <div id="d1"></div>
    </body>
    </html> 
    是不是发现可以执行成功呀,当焦点在text中时,点按钮,其实是先onblur,再onclick,在onblur的时候,弹出alert了,就阻止了onclick事件,也就是说onclick并没有成功
      

  2.   

    补充下楼上说的
    当焦点在text中时,其实是先onblur,再onclick(此时是执行的onblur="sss()")
    所以你点button的时候alert出的sss()的内容你光标离开后,先点下页面其他的任何地方后,再点button就会alertttt()中的内容了。
      

  3.   


    你这样的话当text onblur的时候就不能执行alert("sss")。我是想当text失去焦点时执行sss函数,点击按钮的时候执行ttt函数
      

  4.   


    我就是想text有焦点的时候点按钮执行ttt函数。
      

  5.   

    <script language="javascript">
    var t;
    function sss(){
        t=setTimeout('alert("sss")',200);
    }
    function ttt(){
        if(t)clearTimeout(t);
        alert("ttt");
    }
    </script>
    </head><body>
    <input type="text" onblur="sss()" />
    <input type="button" onclick="ttt()" />
      

  6.   

    <html>
    <head><title>test</title>
    <script language="javascript">
    function sss(){
    document.getElementById("d1").innerText = "sss";
    }
    function ttt(){
    alert("ttt");
    }
    </script>
    </head><body>
    <input type="text" onblur="sss()" />
    <input type="button" onclick="ttt()" />
    <div id="d1"></div>
    </body>
    </html> 或者用onmousedown和onmouseup事件也可以
      

  7.   

    这个问题问的很妖异,不过还是要解答一下:
    从text获取焦点到鼠标单击按钮,中间还有个世界onmouseover
    可以用这个事件临时取消onblur()事件。代码如下:
    <script language="javascript">
    function sss(){
    alert("sss");
    }
    function ttt(){alert("ttt");
    }
    //临时取消
    function remove(){
    document.getElementById("a").onblur ="";
    }
    //还原
    function add(){
    document.getElementById("a").onblur =sss;
    }
    </script>
    <html>
    <head>
    </head><body>
    <input id="a" type="text" onblur="sss()" />
    <input type="button" onmouseover="remove()" onmouseout="add()" onclick="ttt()" />
    </body>
    </html>
      

  8.   

    <script language="javascript">
    function sss(){
    var srcElem = document.activeElement //取到当前焦点控件
    if(srcElem.type=="button"){
    ttt();
    return;
    }
    alert("text blur");
    }
    function ttt(){
    alert("click button");
    }
    </script><input type="text" onblur="sss()" />
    <input type="button" onclick="ttt()" />在sss方法里面判断下当前的焦点是不是在button上,如果是,则执行点击button的方法,反之则执行text失去焦点的方法。
      

  9.   

    <html>
    <head>
    <script language="javascript">
    var isInBtn=false;
    function sss(){
       if(isInBtn)
       {
          return false;
       }
       alert("sss");
    }
    function ttt(){
      alert("ttt");
    }
    function InOut(io)
    {
      if(io==1)
      {
         isInBtn=true;
      }
      else
      {
         isInBtn=false;
      }
    }
    </script>
    </head><body>
    <input type="text" onblur="sss()"/>
    <input type="button" onclick="ttt()" onMouseOver="InOut(1)" onMouseOut="InOut(0)" />
    </body>
    </html>