jsTree contextmenu不在树上呈现
我有一个网站。
它有两页。
pg1仅适用于我在简单的环境中使用jsTree。 事情在这里工作得很好。
第2页是生产应用程序。 这是我遇到这个问题的地方。
两个页面中都有相同的代码,jsTree适用于其他所有目的。 我从零开始构建树,现在只添加一个上下文菜单项。
#1的不同之处在于我的制作页面jsTree位于jqWidget jqxWindow中。
这两个页面都托管在python-web2py上,但演示页面实际上不是web2py页面。 该演示确实通过web2py控制器,但页面是直的HTML /不包括web2py JavaScript框架或视图对象。 如果我在演示页面上查看源代码,它几乎和我在编辑器中看到的完全一样。
所有这些都说我不知道jqxWidgets或web2py是这个问题的根源。
。
这是有问题的代码,并且在两个页面中都是相同的。
, 'contextmenu': {
'items': function (node) {
var tmp = $.jstree.defaults.contextmenu.items();
delete tmp.rename;
delete tmp.remove;
delete tmp.ccp;
tmp.create.label = "New Folder";
return tmp;
}
}
, 'plugins': ['contextmenu']
。
当我点击演示页面中的jsTree节点时,一切都很好。
问题是当我点击生产页面中的jsTree节点时,什么也没有发生。 一点都没有。 上下文菜单不会呈现/显示在浏览器中。 就好像生产jsTree没有听到人民币点击一样。
编辑:我刚刚也意识到这一点。 在页面的任何位置,RBM点击会显示浏览器的标准上下文菜单.... 除了 jsTree节点。 在节点上 - 什么都没有。 这往往导致我相信它与jqWidgets或web2py无关。
什么可以阻止jsTree呈现上下文菜单? 我可以从样式元素中遗漏吗? 生产页面没有获得一些contextmenu.js文件吗?
如果你确实认为jqWidgets或web2py可能是这个的根源
由于您已成功在控制台中获取测试消息,我的猜测是上下文菜单在那里,只有不可见。
上下文菜单将是一个ul
元素,带有类vakata-context jstree-contextmenu jstree-default-contextmenu
。 当您在节点上右键单击鼠标时添加它,然后在您单击它之外时将其删除。 尝试右键单击它,然后在DOM(元素控制台选项卡)中搜索该菜单元素。