jQuery MiniUI

标题: 咨询一个问题 [打印本页]

作者: jqsu    时间: 2013-7-8 17:03:27     标题: 咨询一个问题

http://www.miniui.com/demo/outlooktree/outlooktree.html

点击左边导航树,新增一个选项卡,关闭之后,再点就不响应了,如何设置成即关即开这样,求指点,如下图所示

[attach]2313[/attach]
作者: factory    时间: 2013-7-8 17:06:03

tree监听onnodeclikc事件来做,不要用onnodeselect事件,nodeselect事件当你已经选中的时候,是不会再次触发选中的
作者: jqsu    时间: 2013-7-8 17:23:06

factory 发表于 2013-7-8 17:06
tree监听onnodeclikc事件来做,不要用onnodeselect事件,nodeselect事件当你已经选中的时候,是不会再次触 ...

非常感谢!
作者: jqsu    时间: 2013-7-11 00:02:28

版主呀,刚又试了一下,把onnodeselect 换成click之后,左键单击无响应,求指教!
function OnNodeClick(e) {
            var node = e.node;
            var isLeaf = e.isLeaf;

            if (isLeaf) {
                showTab(node);
            }
            
       }
作者: jqsu    时间: 2013-7-11 00:04:35

factory 发表于 2013-7-8 17:06
tree监听onnodeclikc事件来做,不要用onnodeselect事件,nodeselect事件当你已经选中的时候,是不会再次触 ...

onnodeclik没有效果,参见miniui.js过于复杂!!!
<script type="text/javascript">
        mini.parse();

        var tree = mini.get("leftTree");

        function showTab(node) {
            var tabs = mini.get("mainTabs");

            var id = "tab$" + node.id;
            var tab = tabs.getTab(id);
            if (!tab) {
                tab = {};
                tab.name = id;
                tab.title = node.text;
                tab.showCloseButton = true;

                //这里拼接了url,实际项目,应该从后台直接获得完整的url地址
                //tab.url = mini_JSPath + "../../docs/api/" + node.id + ".html";
                tab.url = mini_JSPath +"../../"+ node.id + ".html";

                tabs.addTab(tab);
            }
            tabs.activeTab(tab);
        }
//onNodeSelect
    /* function onNodeSelect(e) {
            var node = e.node;
            var isLeaf = e.isLeaf;

            if (isLeaf) {
                showTab(node);
            }
        }*/
     function OnNodeClick(e) {
            var node = e.node;
            var isLeaf = e.isLeaf;

            if (isLeaf) {
                showTab(node);
            }
            
       }

        function onClick(e) {
            var text = this.getText();
            alert(text);
           
        }
        function onQuickClick(e) {
            tree.expandPath("datagrid");
            tree.selectNode("datagrid");
        }
    </script>
作者: factory    时间: 2013-7-11 09:45:03

jqsu 发表于 2013-7-11 00:04
onnodeclik没有效果,参见miniui.js过于复杂!!!

        mini.parse();

你写错了哇,onnodeclick,你写成onnodeclik了
作者: jqsu    时间: 2013-7-11 22:16:20

factory 发表于 2013-7-11 09:45
你写错了哇,onnodeclick,你写成onnodeclik了

代码里是没有写错的,只是贴子里写错而以,你看我之前贴的代码嘛
作者: factory    时间: 2013-7-12 09:28:43

jqsu 发表于 2013-7-11 22:16
代码里是没有写错的,只是贴子里写错而以,你看我之前贴的代码嘛

[attach]2339[/attach]

你看下这个例子,onnodeclick确实是正常激发的






欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2