模拟点击一个与IE浏览器兼容的Javascript链接 [英] Emulate clicking a link with Javascript that works with IE
问题描述
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屋!
查看全文