模拟点击一个与IE浏览器兼容的Javascript链接 [英] Emulate clicking a link with Javascript that works with IE

查看:119
本文介绍了模拟点击一个与IE浏览器兼容的Javascript链接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 

code> function fireEvent(obj,evt){

var fireOnThis = obj;
if(document.createEvent){
var evObj = document.createEvent('MouseEvents');
evObj.initEvent(evt,true,false);
fireOnThis.dispatchEvent(evObj);
} else if(document.createEventObject){
fireOnThis.fireEvent('on'+ evt);






然后调用它:

  fireEvent(document.getElementById('edit_client_link'),'click'); 

这对于FF来说似乎很好,但是用IE浏览器却行不通! b
$ b

有什么想法?

解决方案我认为你仍然需要调用document.createEventObject - 你只检查它在那里。未经测试的代码如下,但基于文档
$ b

 函数fireEvent(obj,evt){

var fireOnThis = obj;
if(document.createEvent){
var evObj = document.createEvent('MouseEvents');
evObj.initEvent(evt,true,false);
fireOnThis.dispatchEvent(evObj);

} else if(document.createEventObject){
var evObj = document.createEventObject();
fireOnThis.fireEvent('on'+ evt,evObj);
}
}


I want to have java script clicking a link on the page..I found something on the net that suggests adding a function like this:

function fireEvent(obj,evt){

    var fireOnThis = obj;
    if( document.createEvent ) {
      var evObj = document.createEvent('MouseEvents');
      evObj.initEvent( evt, true, false );
      fireOnThis.dispatchEvent(evObj);
    } else if( document.createEventObject ) {
      fireOnThis.fireEvent('on'+evt);
    }
}

Then call it using:

fireEvent(document.getElementById('edit_client_link'),'click');

This seems to work fine for FF but with IE it doesn't work!

Any ideas?

解决方案

I think you still need to call document.createEventObject -- you only checked that it's there. Untested code follows, but based on the docs it should work.

function fireEvent(obj,evt){

    var fireOnThis = obj;
    if( document.createEvent ) {
      var evObj = document.createEvent('MouseEvents');
      evObj.initEvent( evt, true, false );
      fireOnThis.dispatchEvent( evObj );

    } else if( document.createEventObject ) {
      var evObj = document.createEventObject();
      fireOnThis.fireEvent( 'on' + evt, evObj );
    }
}

这篇关于模拟点击一个与IE浏览器兼容的Javascript链接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆