且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

IE和火狐中模仿Click事件及提交到新窗口总结

更新时间:2021-12-25 07:43:05

在程序中去模拟一个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事件及提交到新窗口总结,如需转载请自行联系原博主。