1

コンテキスト メニューを jsTree にバインドしようとしています。

コンテキストメニューが動作するため、JSFiddleはあまり役に立ちません

contextmenuプラグインを追加しましたが、右クリックでメニューが表示されません。そこで、コンテキスト メニューをレンダリングする関数をデバッグしたところ、メニュー要素の高さと幅が 0 であることがわかりました。また、このページの例をデバッグしたところ、高さと幅が正であることがわかりました。

// 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 が消去されます。

邪魔してごめんなさい。

4

1 に答える 1

0

その場合、JavaScript デバッガーでページを確認する必要があります。FireBug または Chrome が組み込まれている可能性があります。正確なエラーを特定するのに役立ちます。

あなたはこのエラーを解決したので、私は再回答するつもりはありませんが、アプリケーションがロードされた後にこの関数を呼び出すことができます.

$(function () { 2 $("#demo1").jstree({ 3 "plugins" : [ "themes", "html_data", "ui", "crrm", "contextmenu" ] 4 }); 5 } );

これはjQueryに依存しているため

今後はこれを使用することを忘れないでください

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

これは利用可能な最も重要なオプションであるため...競合を回避するため..(同じ名前の関数によっては競合が発生する可能性がありますが、jQueryはこの関数を呼び出した後にスマートに動作します..

jsfiddle では正常に機能したため、これが唯一の理由であると確信しています。

バウンティ ポイントの場合は、分数で授与することができるので、満足のいく回答をしてくれた (100) 人の一部を授与することができます..

これが役立つことを願っています.. :)

于 2013-06-27T07:31:45.970 に答える