刘政道 - 应用程序框架

《31天学会CRM项目开发(C#编程入门及项目实战)》作者,IT经理,程序员
  博客园  :: 新随笔  :: 联系 :: 管理

JavaScript实现网页单击事件

Posted on 2011-03-15 09:16  刘政道  阅读(644)  评论(0编辑  收藏  举报

最近在做模拟自动登录的案例,需要在页面中模拟鼠标单击的效果,因为通过document.forms[0].submit的方式可以提交表单,但是对于一些表单是通过一个链接或是Ajax方法以单击效果提交的表单,就束手无策。

上网查了查,有以下代码可实现,

evt = document.createEvent('MouseEvents');
evt.initEvent('click', false, false);
document.getElementsByName('loginForm:submitBtn')[0].dispatchEvent(evt);
经测试,上述代码在Firefox中起作用,但是在IE中提示错误,方法不支持,于是继续查找

evt = document.createEventObject();
evt.button = 1;
document.getElementsByName('loginForm:submitBtn')[0].fireEvent('onclick', evt);
document.getElementsByName('loginForm:submitBtn')[0].fireEvent('onclick', evt);//我所访问的页面是JSF的,需要单击两次
上述代码可以在IE中执行

那么如何判断是IE还是Firefox呢?

if(document.all){IE}else{Firefox}