0

jQuery.jsTree を使用してメニューを作成しました。すべての項目に特定のページへのリンクを含める必要があります。jsTree では、標準の動作が妨げられているため、これらのリンクをクリックすることはできません。

<a href="index.php?content=example" ... >....</a> 

リンク (これは実際には私のリンクの 1 つの例です。index.php は私の標準ページであり、コンテンツのみが置き換えられます)。私がこの解決策を見つけたことを修正するために:

jQuery(".tree").bind("select_node.jstree", function (e, data) {
    document.location = data.rslt.obj.children("a").attr("href");
});

つまり、クリックされたリンクは機能しますが、開いたウィンドウで Firebug が jQuery が定義されていないことを通知します。document.location で、ブラウザがライブラリのインポートを「忘れる」可能性はありますか (前述したように、index.php ページにとどまり、コンテンツを置き換えるだけです)。

もう1つの質問は、ライブラリ自体を編集せずにjsTreeのリンクを有効にするためのより良い解決策を知っている人はいますか?

前もって感謝します!

4

1 に答える 1

1

リンクが最初に次のように見える場合:

<a href="index.php?content=example" ... >....</a> 

そして、コンテンツをID付きのdivにロードしたいmaincontent

次のようなことができます:

$(".tree a").each(function(){
  var $this = $(this);
  $this.click(function(){
     $("#maincontent").load($this.href, function(){
        // this callback functions fires once load is complete,
        // incase you need to do post-load operations
     });
     return false;
  });
});

これにより、通常のリンクと同じように新しいページが読み込まれ、AJAX を介してページが取得され、返された HTML が wi​​th DIVID に読み込まれますmaincontent

コードはテストされていませんが、過去にこれを行ったことがあるので、そのまま動作するはずです。

于 2013-10-02T13:27:34.840 に答える