jQuery插件--zTree中点击节点实现页面跳转时弹出两个页面的问题

  这是第一次使用zTree,所以在使用之前我要先写一个demo来学习一下。我们要注意的是,zTree是一个jQuery插件,所以我们在导入zTree的js文件之前要先导入jQuery的js文件。

  我们先下载zTree,点击我跳转到一个网站进行下载

  代码直接贴出来

<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8">
        <title></title>
        <link rel="stylesheet" type="text/css" href="css/zTreeStyle.css">
        <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
        <script type="text/javascript" src="js/jquery.ztree.all-3.1.min.js"></script>
    </head>

    <body>
        <div>
            <ul id="treeDemo" class="ztree"></ul>
        </div>
        <script type="text/javascript">
            var zTreeObj;
            // zTree 的参数配置,深入使用请参考 API 文档(setting 配置详解)
            var setting = {
                callback:{
                    onClick:function(event,treeId,treeNode){
                        if(treeNode.ahref){
                            window.open(treeNode.ahref);
                        }else{
                            alert("此节点没有链接!")
                        }

                    }
                },
                view:{
                    showIcon:false
                }
            };
            // zTree 的数据属性,深入使用请参考 API 文档(zTreeNode 节点数据详解)
            var zNodes = [
            {
                name: "test1",
                open: true,
                children: [{name: "test1_1",ahref:"https://www.baidu.com/"}, {name: "test1_2"}]},
            {
                name: "test2",
                open: true,
                children: [{name: "test2_1"}, {name: "test2_2"}]
            }];
            $(document).ready(function() {
                zTreeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
            });
        </script>
    </body>

</html>

  

  之前我在点击test1_1这个节点的时候弹出了两个页面,这个原因是我在设置children节点的时候把里面的链接直接使用的是url属性,这样就会使得我在点击节点时弹出两个页面,然后我把属性名改为了ahref之后就可以了。url估计是一个关键字,我们在设置链接时不要使用url。

时间: 2024-12-18 08:57:54

jQuery插件--zTree中点击节点实现页面跳转时弹出两个页面的问题的相关文章

点击链接弹出两个页面

<a href="javascript:adClick('https://codepen.io/picks/5/','https://codepen.io/takaneichinose/pen/xrKQBW')">点击链接弹出两个页面</a> function adClick(url1,url2) { window.open(url1); window.location=url2; }

jquery mobile页面跳转后,必须重新刷新页面js方可有效

最近在做个项目,用到jquery mobile,很陌生对他,问题一个个的来,那就要一个个解决,找了一天这个问题,放可明白:首先明白jqm里面页面跳转默认都是通过ajax请求的,必须重新刷新页面js方可有效,也就是js没有起作用,并不是js本身的问题,下面说说解决方法:在使用jQuery Mobile进行Web开发中,当页面跳转时(pageA => pageB),在pageB中引用的JS并未成功运行.因为,JQM并为将整个页面加载到当前的dom中,仅将data-role="page"

js控制页面跳转,清缓存,强制刷新页面

单看标题,必定满脸蒙13. 其实,想表达的仅仅是,在js中通过window.location.href控制页面跳转时,有时会跳转至缓存页面,并没有真正去请求要跳转的地址,导致页面数据未能及时加载刷新. 直奔code... 解决办法: 在HTML中埋入隐藏from,通过js调用from进行请求链接地址 <form id='hidden_submit_info' method="post" enctype="multipart/form-data" action=

如何让弹出窗口和页面产生联动?

其实关键就是window.opener,这个东西就是如何在子窗口页面中,访问父窗口页面的文档的方法,在frame中,是parent.top这类的东西,知道了这个东西,剩下想做点什么就好说了. 父窗口操作子窗口的话,就利用open的返回值就可以了. father.htm: <script> function openChild(){ var child = window.open("child.htm"); child.document.getElementById(&quo

【android开发】使用PopupWindow实现页面点击顶部弹出下拉菜单

没有太多花样,也没有很复杂的技术,就是简单的PopupWindow的使用,可以实现点击弹出一个自定义的view,view里可以随便设计,常用的可以放一个listview. demo中我只是一个点击展示,简单的使用了fade in out的动画效果,也没有精美的图片资源,看着也丑,不过这么短的时间,让你掌握一个很好用的技术,可以自己扩展,不很好么? 废话不说了,直接上代码: MainActivity.java [java] view plaincopy public class MainActiv

使用iframe框架后的页面跳转时目标页面变为iframe的子页面的问题

<frameset rows="4,200,10,*,120" cols="*" framespacing="0" frameborder="no" border="1" > <frame src=""/> <frame src="<%=practiceInfoSrc %>" id="practiceInfo&quo

项目中jquery插件ztree使用记录

最近公司要求做一个关于后台的管理系统.在这个mvvm模式横行的年代,虽然这里用jquery做项目可能有点不符合时代的潮流,但是管他呢,能做出来先在说呗(公司以后要改用angular或者vue来统一前端的制作方式),个人觉得jquery还挺好用的.废话这里就不多叙述了.下面就先来一张完成后的图片展示一下ztree可以完成的功能. 额····这边弹出层的阴影是录制软件的问题(这边的前端插件用的是layui,想用的小伙伴可以自行百度layui,顺便一提,我这里用的版本是layui 1.0的,现在lay

iOS-UITableView-处理cell上按钮事件(弹出警示框,页面跳转等)

一. 目的: 实现UITableViewCell上按钮点击事件可以进行页面跳转. 二. 实现方法: 1. 用协议的方式的实现. 2. 需要自定义UITableViewCell. 三. 代码部分. cell.h中 #import <UIKit/UIKit.h> @protocol SevenProtocolDelegate <NSObject> - (void)sevenProrocolMethod:(UIViewController *)viewController and:(NS

ASP.NET MVC中如何在当前页面上弹出另外一个页面

注意:不是链接到另一个页面,而是弹出一个页面,当前的页面和弹出页面都存在于浏览器的同一个标签页中,效果如图: 弹出的窗体置于四大天王页面之上,但是无法继续操作底层的页面,代码如下: 1 function createDialog(src, width, height) { 2 var _doc_width = $(document).width(); 3 var _doc_height = $(document).height(); 4 var _html = "<div id='bg'