zoukankan      html  css  js  c++  java
  • HTML:模拟链接被按下,在新标签页打开页面,不使用window.open(可能被拦截)

    当按下一个按钮时,想打开一个新的标签页,可以使用window.open去实现
    但是因为使用window.open在新窗口或者新标签页中打开页面,有可能被浏览器给拦截。
    为了解决这个问题,可以模拟链接被按下,然后打开链接。
    但是在jQuery中,使用a.click(), a.trigger('click')等都不会引起链接默认事件被执行。
    下面的代码模拟生成了链接点击事件,然后执行默认打开链接的事件。

    html>
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8">
        <title>Title</title>
    
        <script src="jquery.js"></script>
        <script type="text/javascript">
        $(function() {
            $("#btn").click(function() {
                //var a = $('a')[0];
                var a = $("<a href='http://www.apple.com' target='_blank'>Apple</a>").get(0);
                
                var e = document.createEvent('MouseEvents');
                e.initEvent( 'click', true, true );
                a.dispatchEvent(e);
            });
        });
        
        </script>
    </head>
    
    <body>
        <input type="button" value="Go to Apple" id="btn">
    </body>
    </html>
    <script src="jquery.min.js"></script>
        <script type="text/javascript">
            if (confirm("现在去付款")) {
                var a = $("<a href='http://www.apple.com' target='_blank'>Apple</a>").get(0);
                var e = document.createEvent('MouseEvents');
                e.initEvent('click', true, true);
                a.dispatchEvent(e);
            }
        </script>
  • 相关阅读:
    使用mybetis插件的公共方法进行查询
    bootstrap的刷新和查询
    消息队列的使用和注意事项
    MySQL 日期时间计算函数
    mysql基础学习网站
    html装换成字符串的工具、代码辅助工具
    正则校验数字,数字保留两位小数,字母,特殊符号和数字
    HTML表格和表单
    HTML标签
    媒体查询写法
  • 原文地址:https://www.cnblogs.com/0banana0/p/3566347.html
Copyright © 2011-2022 走看看