firefox 下给动态input 控件追加onFocus事件问题:
动态添加一个文本框控件,如下
unction createText(txtName)
{
   var txt=document.createElement("input");
   txt.type="text";
   txt.name=txtName;
   txt.id=txtName;
    txt.onFocus="alert('ss');";      
   return txt;
}在IE7下可以弹出窗口,但是在ff下不能执行,分数有限,希望高手帮忙

解决方案 »

  1.   


    txt.onFocus=function(){
      alert("ss")
    }
      

  2.   


    function createText(txtName) 

      var txt=document.createElement("input"); 
      txt.type="text"; 
      txt.name=txtName; 
      txt.id=txtName; 
      txt.onfocus=function(){alert('ss');};      
      return txt; 

      

  3.   

    IE FF下测试都可以, 报什么错?
      

  4.   

    function createText(txtName) 

      var txt=document.createElement("input"); 
      txt.type="text"; 
      txt.name=txtName; 
      txt.id=txtName; 
     txt.onFocus="test();";    
      return txt; 

    function test()
    {
      alert('ss');
    }
    这样写,同样在IE下可以,在FF中不执行
      

  5.   

    完整测试代码, ie方法都可以
    <script type="text/javascript"> 
    function createText(txtName) 

      var txt=document.createElement("input"); 
      txt.type="text"; 
      txt.name=txtName; 
      txt.id=txtName; 
      txt.onfocus=function(){alert('ss');};      
      return txt; 

    window.onload=function(){
      document.getElementById("pad").appendChild(createText("xx"));
    }
    </script>
        
    <div id="pad"></div> 
      

  6.   


    function createText(txtName) 

      var txt=document.createElement("input"); 
      txt.type="text"; 
      txt.name=txtName; 
      txt.id=txtName; 
      txt.onfocus=test;    
      return txt; 
    } function test() 

      alert('ss'); 

      

  7.   

    txt.onfocus=test();   
    txt.onfocus=“test()”;    
    这两行代码在IE的区别是第一行是生成文本框会弹出对话框,第二行是单击文本框会弹出对话框;
    在FF中的区别是第一行与IE效果相同,第二行不会弹出对话框。
    我所要的效果是在单击文本框时要弹出对话框。
      

  8.   


    function createText(txtName) 

      var txt=document.createElement("input"); 
      txt.type="text"; 
      txt.name=txtName; 
      txt.id=txtName; 
      txt.onfocus=test;    
      return txt; 
    } function test() 

      return function(){
        alert();
       } 

      

  9.   

    unction createText(txtName) 

      var txt=document.createElement("input"); 
      txt.type="text"; 
      txt.name=txtName; 
      txt.id=txtName; 
      txt.onfocus=test;    
      return txt; 
    } function test() 

      alert('ss'); 

    这个代码不执行。
      

  10.   

    txt.onfocus=test; 光test,不要加括号,也不要加引号
      

  11.   

    略微修改<script type="text/javascript"> 
    function createText(txtName) 

      var txt=document.createElement("input"); 
      txt.type="text"; 
      txt.name=txtName; 
      txt.id=txtName; 
      txt.onfocus=test();      
      return txt; 

    function test() 

      return function(){
        alert();
       } 

    window.onload=function(){
      document.getElementById("pad").appendChild(createText("xx"));
    }
    </script>
        
    <div id="pad"></di
      

  12.   

    test(); 有括号的哦 别漏掉
    你复制我的代码运行能弹出不?我这里在每个浏览器下面都没问题
      

  13.   

    8楼的代码,全部拷贝下来存为html文件访问看看。 代码测试过可以的
      

  14.   

    谢谢hookee,你说的方法是可以的,但是放在单独的js中 为什么不行呢?
      

  15.   

    莫非你alert的是中文?中文不行
      

  16.   


     <script language=javascript src="test.js"></script>
    <script type="text/javascript"> window.onload=function(){
      document.getElementById("pad").appendChild(createText("xx"));
    }
    </script>
    <div id="pad"><FONT face="宋体"></FONT></div>
    function createText(txtName) 

      var txt=document.createElement("input"); 
      txt.type="text"; 
      txt.name=txtName; 
      txt.id=txtName; 
      txt.onfocus=test();      
      return txt; 

    function test() 

      return function(){
        alert();
       } 

    你试试,我测试过了,完全可以
      

  17.   

    我发现问题了,是这个 document.getElementById("pad").innerHTML+="</br>";
    如果我加上这句话,两个浏览器都不会执行了,但是我必须要换行,请问能解决吗?
      

  18.   

    [code]
    var n=document.createElement("br");
    document.getElementById("pad").appendChild(n)
    [/code]
      

  19.   


    var n=document.createElement("br");
    document.getElementById("pad").appendChild(n);测试通过