• 【转发】jquery实现自动打开新的页签


    通常我们想要浏览器在回调方法中打开一个页签,用这个方法

    //window.open("http://www.baidu.com") ;       //自动打开新窗口,会被浏览器拦截,无效

    但是事实上,这个会被浏览器自动拦截掉,那该怎么办呢?

    我们可以模拟一个链接被点击,这样就不会被拦截了,代码如下:

     //打开新窗口,一切事件都调用该方法
            function openNewWindow() {
                //var a = $('a')[0];
                let a = $("<a href='http://www.baidu.com' target='_blank'>baidu</a>").get(0);
                let e = document.createEvent('MouseEvents');
                e.initEvent( 'click', true, true );
                a.dispatchEvent(e);
            }      

    完整的demo我也发一个给大家:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>test</title>
     
        <link rel="shortcut icon" href="/favicon.ico" />
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">
        <meta http-equiv="keywords" content="test">
        <meta http-equiv="description" content="test">
        <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
        <script>
            $(function () {
                //window.open("http://www.baidu.com") ;       //自动打开新窗口,会被浏览器拦截,无效
     
                //openNewWindow();//自动打开新窗口,模拟一个链接的点击事件,不会被拦截,推荐做法
     
                //单击某个元素打开
                $(".click").click(function(){
                    openNewWindow();
                });
     
                //双击某个元素打开
                $(".dblclick").dblclick(function(){
                    openNewWindow();
                });
     
                //鼠标进去某个元素打开
                $(".mouseenter").mouseenter(function(){
                    openNewWindow();
                });
     
                /**
                 * 如果想要其他事件,请参考
                 * 慕课网事件讲解:http://www.imooc.com/learn/429
                 * 菜鸟网事件分类:http://www.runoob.com/jquery/jquery-events.html
                 * W3school事件列表:http://www.w3school.com.cn/jquery/jquery_ref_events.asp
                 */
     
            });
     
            //打开新窗口,一切事件都调用该方法
            function openNewWindow() {
                //var a = $('a')[0];
                let a = $("<a href='http://www.baidu.com' target='_blank'>baidu</a>").get(0);
                let e = document.createEvent('MouseEvents');
                e.initEvent( 'click', true, true );
                a.dispatchEvent(e);
            }
        </script>
     
    </head>
    <body>
         测试默认页面
     
        <div class="click">click单击事件跳转</div>
        <div class="dblclick">dblclick双击事件跳转</div>
        <div class="mouseenter">mouseenter鼠标进去事件跳转</div>
     
    </body>
    </html>

    转自:https://blog.csdn.net/lengguoxing/article/details/78413595

  • 相关阅读:
    过完年又是跳槽涨工资的好机会了,许多毕业生也正打算参与社会,希望我的经历能给你们带来点什么
    临时表dataTable 求助,
    C#代码与javaScript函数的相互调用(转)
    一些基本的GIS 和国土方面知识(来自网上,序号都没改)
    VS 2008 安装求助 麻烦看下 下班就取下来,感觉不适合放这
    有关环境 错误 的记录
    我公司在招人 AE的
    ARCgis server 安装与起步(转自冬儿的BLOG )
    pytorch入门之安装和配置
    python出现编码问题的原因及编码问题的解决
  • 原文地址:https://www.cnblogs.com/firstcsharp/p/11532049.html
Copyright © 2020-2023  润新知