我遇到了一个简单的问题,但无法正常工作:我正在尝试在 IE 7 中触发一个事件。为此,我尝试了以下操作:
if (typeof fireEvent != 'function') {
function fireEvent(target, evt) {
if (document.createEvent) {
var clickEvent = document.createEvent("MouseEvents");
clickEvent.initMouseEvent(evt, true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
return target.dispatchEvent(clickEvent);
}
else {
return target.fireEvent("on" + evt);
}
}
}
但是,这不起作用。该事件未在 IE 7 中触发。Jquery 触发器将在 IE 7 中工作,但是,我无法使用它,因为它在我的 Java 应用程序中造成内存泄漏(大约 400MB 内存泄漏)并且脚本因这。
我尝试过的是使用 Javascript 进行简单的登录(http://accounts.google.com/):
document.getElementById('Email').value = "%s";
document.getElementById('Passwd').value = "%s";
var signIn = document.getElementsByName('signIn')[0];
fireEvent(signIn, "click");
两个字段(“电子邮件”和“密码”)都已填写,但未提交表单。作为替代方案,我尝试使用“onsubmit”事件。最后两行可以更改为:
var gaiaLoginForm = document.getElementById("gaia_loginform");
fireEvent(gaiaLoginForm, "submit");
再一次:jQuery 和任何其他大型框架都无法使用!