<input type="text" onclick="ent()"/>function ent(){
//IE下可以如下写
var e=this;
alert(e.type);
}
请问一下FF下要怎么写,可以获得input这个对象

解决方案 »

  1.   

    <input type="text" onclick="ent(this)"/> function ent(e){ 
    //IE下可以如下写 
    //var e=this; 
    alert(e.type); 

      

  2.   

    或者
    <input type="text" onclick="ent()"/> function ent(e){ 
    //IE下可以如下写 
    e=window.event ||e;
    e=e.srcElement ||e.target; //取出触发事件的对象
    alert(e.type); 
      

  3.   

    一定要在onclick="ent(this)"这里加this吗
    其实我是通过遍历控件 在window.onload 里写的
    window.onload = function(){
    var obj = document.getElementsByTagName("input");
    for(var i=0;i<obj.length;i++){
    obj[i].onclick=ent;
    }
    }
    这样的话 怎么加this呢
      

  4.   

    使用2L的不用加
    ,3楼的这种方法,可能直接用this的
      

  5.   

    错了
    obj[i].onclick=function() {
    //这样可以直接用this
    }
    或者
    obj[i].onclick=function() {ent(obj[i])};
      

  6.   

    obj[i].onclick=function() {ent(obj[i])};
    这个我试过了 好像FF下没有作用
    IE会有js错误
      

  7.   


    function ent(e){ 
    //IE下可以如下写 
    e = e || window.event;
    tar = e.srcElement || e.target;
    alert(e.type); 
    }<input type="text" onclick="ent(this)"/>
      

  8.   

    这下ok了<body> 
    <div>   <input type="button" value="查找"/>
      <input type="text" />
    </div> 
    <script type="text/javascript">
    var ent= function(e) {
    e=window.event ||e;
    e=e.srcElement||e.target;
    alert(e.type);
    }
    var ent2=function(obj) {
    alert(obj.type);
    }
    window.onload=function() {
    var inputs=document.getElementsByTagName("input");
    for(var i=0;i<inputs.length;i++) {
    //inputs[i].onclick=ent;//ie8,ff3.5下通过

    (function(obj){//这里要用到闭的写法,ie8,ff3.5下通过
    obj.onclick=function() {ent2(obj)};
    })(inputs[i]);
    }
    }
    </script> 
    </body> 
      

  9.   


    window.onload = function(){ 
    var obj = document.getElementsByTagName("input"); 
    for(var i=0;i <obj.length;i++){ 
    obj[i].onclick=function(obj[i]) {ent(obj[i])};