【问题标题】:Context menu of zero size in jsTreejsTree中零大小的上下文菜单
【发布时间】:2013-06-18 06:59:20
【问题描述】:

我尝试将上下文菜单绑定到我的 jsTree。

Not so helpful JSFiddle, because context menu works in it

我添加了 contextmenu 插件,但右键单击时不显示菜单。于是我调试了渲染上下文菜单的函数,发现菜单元素的高度和宽度都是0。我也在this page上调试了一个例子,发现高度和宽度都是正数。

// Height and width are 0 in my app and jsTree example.

$.vakata.context.cnt
    .html(html) // Default menu, so HTML in my app and in example are the same.
    .css({ "visibility" : "hidden", "display" : "block", "left" : 0, "top" : 0 });

...

h = $.vakata.context.cnt.height(); // 0 in my app, > 0 in example.
w = $.vakata.context.cnt.width(); // 0 in my app, > 0 in example.

可能的原因是什么?

已解决

当应用程序初始化时,它会清理为显示上下文菜单而创建的 jsTree。

很抱歉打扰。

【问题讨论】:

  • 请提供一个示例性的 jsfiddle
  • @Alp,我提供了示例,但我的问题是上下文菜单在我的应用程序中不起作用,问题未在 jsFiddle 中重现。
  • @Marboni 根据您的最后评论,您的应用程序中一定存在错误。除非您向我们提供完整的来源,否则没有人可以帮助您解决这个问题。顺便说一句,您浪费了 100 个声望...
  • 你说得对,@cept0,我找到了原因。 jsTree 在准备好的文档上创建 div,然后我的应用程序清理了主体以重新绘制布局。我支付了 100 声望来学习如何提出正确的问题。 :)

标签: javascript jstree


【解决方案1】:

在这种情况下,您必须使用 JavaScript 调试器检查页面,可能是内置的 FireBug 或 Chrome。这将帮助您识别确切的错误,

由于你已经解决了这个错误,我不打算重新回答,但是你可以在应用程序加载后调用这个函数,

$(函数 () { 2 $("#demo1").jstree({ 3 “插件”:[“主题”、“html_data”、“ui”、“crrm”、“contextmenu”] 4 }); 5 });

因为这是依赖于 jQuery 的

以后别忘了用这个

<script type="text/javascript">jQuery.noConflict();</script>

因为这是可用的最重要的选项...以避免冲突..(因为某些同名的函数可能会导致冲突,但是 jQuery 在调用此函数后会很好地工作..

我确信这可能是唯一的原因,因为在 jsfiddle 中它运行良好..

如果是赏金点,你可以分数奖励..这样你就可以奖励一部分(100)给你满意答案的人..

我希望这会有所帮助.. :)

【讨论】:

    猜你喜欢
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多