[code=JScript]
 /*
  *@ param  srcElement 要在此对象模式的id
  *@parma  lrMouse  鼠标左右键
  * @param  eventname 要模拟的事件名
  */
function SimEvents (srcElement,lrMouse,eventname){
var obj = document.getElementById(srcElement); //x(12,136) x2(164,157);
if(obj){
 var rect = obj.getBoundingClientRect();
 //  alert("left:"+rect.left);
 // alert("right"+rect.right);
       //  alert("top:"+rect.top);
       //   alert("bottom:"+rect.bottom);
 var x1 = rect.left+Math.ceil(Math.random()*(rect.right-rect.left));
 // var x1 = Math.ceil(Math.random()*(rect.right-rect.left));
      var y1 = rect.top+Math.ceil(Math.random()*(rect.bottom-rect.top));
 // var x1 = Math.ceil(Math.random()*(rect.bottom-rect.top));

 textareaId.value=textareaId.value+"\r\n"+"x1:"+x1+" y1:"+y1; 
 var evt = document.createEventObject();
   if(lrMouse){
   evt.button = lrMouse;
}
    evt.type = eventname;
    evt.offsetX = x1;
    evt.offsetY = y1;
    obj.fireEvent(eventname, evt);

}
}code]
上面的函数我是想模拟 一些js常见的事件  如onclick onkeydown onkeyup
不知道为什么上面的函数不能正确执行,但也没报错 

解决方案 »

  1.   


     /*
      *@ param  srcElement 要在此对象模式的id
      *@parma  lrMouse  鼠标左右键
      * @param  eventname 要模拟的事件名
      */
    function SimEvents (srcElement,lrMouse,eventname){
    var obj = document.getElementById(srcElement); //x(12,136) x2(164,157);
    if(obj){
     var rect = obj.getBoundingClientRect();
     //  alert("left:"+rect.left);
     // alert("right"+rect.right);
           //  alert("top:"+rect.top);
           //   alert("bottom:"+rect.bottom);
     var x1 = rect.left+Math.ceil(Math.random()*(rect.right-rect.left));
     // var x1 = Math.ceil(Math.random()*(rect.right-rect.left));
          var y1 = rect.top+Math.ceil(Math.random()*(rect.bottom-rect.top));
     // var x1 = Math.ceil(Math.random()*(rect.bottom-rect.top));

     textareaId.value=textareaId.value+"\r\n"+"x1:"+x1+" y1:"+y1; 
     var evt = document.createEventObject();
       if(lrMouse){
       evt.button = lrMouse;
    }
        evt.type = eventname;
        evt.offsetX = x1;
        evt.offsetY = y1;
        obj.fireEvent(eventname, evt);

    }
    }格式乱了,重新发一下
      

  2.   

     /*
      *@ param  srcElement 要在此对象模式的id
      *@parma  lrMouse  鼠标左右键
      * @param  eventname 要模拟的事件名
      */
    function SimEvents (srcElement,lrMouse,eventname){
    var obj = document.getElementById(srcElement); //x(12,136) x2(164,157);
    if(obj){
     var rect = obj.getBoundingClientRect();
     //  alert("left:"+rect.left);
     // alert("right"+rect.right);
           //  alert("top:"+rect.top);
           //   alert("bottom:"+rect.bottom);
     var x1 = rect.left+Math.ceil(Math.random()*(rect.right-rect.left));
     // var x1 = Math.ceil(Math.random()*(rect.right-rect.left));
          var y1 = rect.top+Math.ceil(Math.random()*(rect.bottom-rect.top));
     // var x1 = Math.ceil(Math.random()*(rect.bottom-rect.top));

    // textareaId.value=textareaId.value+"\r\n"+"x1:"+x1+" y1:"+y1; 
     var evt = document.createEventObject();
       if(lrMouse){
       evt.button = lrMouse;
    }
        evt.type = eventname;
        evt.offsetX = x1;
        evt.offsetY = y1;
        obj.fireEvent(eventname, evt);

    }
    }
    只要能在 ie6下运行就可以了