一般我们这样写
<input type=text onfocus="getdata">
function getdata()
{
    alert();
}好像只执行一次,然后我改成其他的之后,就一直不间断执行了
function getdata()
{
    var a=1;
}要怎么样才能使控件得到焦点后只执行一次getdata()

解决方案 »

  1.   

    <input type=text onfocus="getdata"> ===〉
    <input type=text onfocus="getdata()">
      

  2.   

    <input type=text onfocus="getdata()">
      

  3.   

    要怎么样才能使控件得到焦点后只执行一次getdata()-->
    对于这个问题你说只执行一次是说以后onfocus只执行一次以后再onfocus就不再执行了吗?
      

  4.   

    因为我调用的函数里面已经带有ONFOCUS了,这样就造成不间断执行。用onchange的话,需要改变文本内容后才能触发。
      

  5.   

    浏览器也有一定的原因。在IE6下还是正常的,其他的好像是成了死循环了,因为那个光标一直在获取焦点。所以可以使用onclick
      

  6.   

    目前也就用onclick来代替,但用户体验就差了好多
      

  7.   

    这个?<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <script type="text/javascript" language="javascript">
    var status = true;
    function getdata()
    {
    if(status)
    alert('-');
    }
    function onblur()
    {
    status = false;
    }
    </script>
    </head><body>
    <input type="text" onfocus="getdata()" name="test" id="test" onblur="onblur()" />
    </body>
    </html>
      

  8.   

    不知道楼主什么意思。
    看下面代码,也没有什么不断执行的问题啊。
    你先点第 一个,让它执行GETDATA(),再点第二个框,看结果,表明只执行一次而已。<input type=text onfocus="getdata()">
    <input type=text onfocus="getdata2()">
    <script type="text/javascript">
    var k=1;
    function getdata()
    {
      k+=2;
    }
    function getdata2()
    {
      alert(k);
    }
    </script>