单击 RMB 时,jsTree 上下文菜单不显示在树节点上
jsTree contextmenu not presenting on tree-node when RMB clicked
我有一个网站。
它有两页。
pg1 仅供我在简单的环境中使用 jsTree。这里一切正常。
pg2 是生产应用程序。这是我遇到这个问题的地方。
两个页面中的代码相同,jsTree 可以很好地用于所有其他目的。我从头开始构建树,现在只添加一个上下文菜单项。
第一个区别是我的生产页面 jsTree 托管在 jqWidget jqxWindow 中。
两个页面都托管在 python-web2py 上,但演示页面实际上不是 web2py 页面。该演示确实通过了 web2py 控制器,但页面是直接的 html/doesn 不包括 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 的节点时没有任何反应。什么都没有。上下文菜单在浏览器中没有 render/appear。好像生产的jsTree听不到人民币点击。
编辑: 我也刚刚意识到这一点。在页面上的任意位置单击 RBM 都会弹出浏览器标准上下文菜单.... Except 在 jsTree 节点上。在节点上-什么都没有。这往往让我相信它与 jqWidgets 或 web2py 无关。
是什么阻止了 jsTree 显示上下文菜单?我可以从样式元素中丢失吗?生产页面是否有某些 contextmenu.js 文件未获取?
如果您认为 jqWidgets 或 web2py 可能是它的根
- a) 我该如何证明这一点 &
- b) 我如何训练 javascript 让人民币点击传递给 jsTree?
既然您在控制台中成功获得了测试消息,我猜上下文菜单是存在的,只是不可见。
上下文菜单将是具有 class vakata-context jstree-contextmenu jstree-default-contextmenu
的 ul
元素。当您 right-click 将鼠标放在节点上时它会被添加,然后当您在它外面单击时会被删除。尝试右键单击它,然后在 DOM(元素控制台选项卡)中搜索该菜单元素。
我有一个网站。
它有两页。
pg1 仅供我在简单的环境中使用 jsTree。这里一切正常。
pg2 是生产应用程序。这是我遇到这个问题的地方。
两个页面中的代码相同,jsTree 可以很好地用于所有其他目的。我从头开始构建树,现在只添加一个上下文菜单项。
第一个区别是我的生产页面 jsTree 托管在 jqWidget jqxWindow 中。
两个页面都托管在 python-web2py 上,但演示页面实际上不是 web2py 页面。该演示确实通过了 web2py 控制器,但页面是直接的 html/doesn 不包括 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 的节点时没有任何反应。什么都没有。上下文菜单在浏览器中没有 render/appear。好像生产的jsTree听不到人民币点击。
编辑: 我也刚刚意识到这一点。在页面上的任意位置单击 RBM 都会弹出浏览器标准上下文菜单.... Except 在 jsTree 节点上。在节点上-什么都没有。这往往让我相信它与 jqWidgets 或 web2py 无关。
是什么阻止了 jsTree 显示上下文菜单?我可以从样式元素中丢失吗?生产页面是否有某些 contextmenu.js 文件未获取?
如果您认为 jqWidgets 或 web2py 可能是它的根
- a) 我该如何证明这一点 &
- b) 我如何训练 javascript 让人民币点击传递给 jsTree?
既然您在控制台中成功获得了测试消息,我猜上下文菜单是存在的,只是不可见。
上下文菜单将是具有 class vakata-context jstree-contextmenu jstree-default-contextmenu
的 ul
元素。当您 right-click 将鼠标放在节点上时它会被添加,然后当您在它外面单击时会被删除。尝试右键单击它,然后在 DOM(元素控制台选项卡)中搜索该菜单元素。