在程序中去模拟一个click事件是可以的,如果这个click事件是来自<a>标签的,那如果希望得到单击按钮的效果,IE可以,但火狐无法实现。
先看一下模拟click事件的代码:
<a href="http://www.sina.com" target="_blank" id="aa">ok</a>
<script>
var comment = document.getElementById('aa');
if (document.all) {
comment.click();
} else { //火狐,如果<a>中没有定义onclick事件,则本段对火狐不起作用
var ev = document.createEvent("MouseEvents");
ev.initEvent("click", true, true);
document.getElementById("aa").dispatchEvent(ev);
}
</script>
事实上,我在页面中去触发一个click事件主要是为了在提交表单时,以新窗口的形式打开,我们其它往往忽视一些基础知识,<form>其实已经提供了这个功能,
只是我们把它遗忘了。
<form action="/shopping/index" method="post" id="processorder" target="_blank" onsubmit="return checkOrder()">
<input name="button2" type="submit" id="button2" value="" class="ck_lijisn" />
</form>
这样的代码可以完成在新窗口提交,但注意,按钮不能是button,如果你在程序中用document.getElementById("processorder").submit()是不能实现
在新窗口进行提交的。呵呵。
看来,有时东西还是传统的好。
本文转自博客园张占岭(仓储大叔)的博客,原文链接:IE和火狐中模仿Click事件及提交到新窗口总结,如需转载请自行联系原博主。