天天看點

attachEvent帶參數函數調用問題

方案一與方案二差別是什麼?

方案一:

var obj_input = document.getElementsByTagName("input");

     for(var i=0; i<obj_input.length; i++){

         if(obj_input[i].type.toLowerCase() == 'checkbox'){

             var obj_ev = function(obj_chk){

                 return function(){

                     onRowClick(obj_chk);

                 }

             }

          if(typeof obj_input[i].addEventListener != "undefined"){

                  obj_input[i].addEventListener( 'click', obj_ev(obj_input[i]), false);

             }else if ( typeof obj_input[i].attachEvent != "undefined" ) {

                  obj_input[i].attachEvent('onclick',obj_ev(obj_input[i]));

             }

         }

     }

方案二:

var obj_input = document.getElementsByTagName("input");

     for(var i=0; i<obj_input.length; i++){

         if(obj_input[i].type.toLowerCase() == 'checkbox'){

             if(typeof obj_input[i].addEventListener != "undefined"){

                  obj_input[i].addEventListener( 'click', function(){onRowClick(obj_input[i].)}, false);

             }else if ( typeof obj_input[i].attachEvent != "undefined" ) {

                  obj_input[i].attachEvent('onclick',function(){onRowClick(obj_input[i].)});

             }

         }

     }

自己感覺是一樣的,可能調試過程中,方案一是調試可以通過,可方案二怎麼也通不過

繼續閱讀