模拟js 事件

fuyou001 2010-06-08 10:25:39
[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


不知道为什么上面的函数不能正确执行,但也没报错
...全文
54 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fuyou001 2010-06-08
  • 打赏
  • 举报
回复
怎么就沉了呢
fuyou001 2010-06-08
  • 打赏
  • 举报
回复


/*
*@ 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下运行就可以了
fuyou001 2010-06-08
  • 打赏
  • 举报
回复

/*
*@ 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);

}
}

格式乱了,重新发一下

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧