Как заставить плагин PowerTools работать на MooTools? - PullRequest
0 голосов
/ 27 ноября 2011

В частности, я пытаюсь использовать функциональность Tree, как можно увидеть здесь: http://cpojer.net/MooTools/tree/Demos/# Источник можно посмотреть здесь: https://github.com/cpojer/mootools-tree/blob/master/README.md

Это мой HTML:

<ul class="tree" id="tree">
  <div id="admin">Admin Controls</div>
    <li class="selected"><a href="#">Test</a>
        <ul>
        </ul>
    </li>
  <div id="admin">Admin Controls</div>
    <li><a href="#">Test 2</a>
        <ul>
        </ul>
    </li>
  <div id="admin">Admin Controls</div>
    <li><a href="#">Top Links</a>
        <ul>
            <li id="article"><a href="/1">Link 1</a></li>
            <li id="article"><a href="/3">Link 2</a></li>
            <li id="article"><a href="/2">Link 3</a></li>
            <li id="article"><a href="/4">Link 4</a></li>
        </ul>
    </li>
  <div id="admin">Admin Controls</div>
    <li><a href="#">Lame Links</a>
        <ul>
            <li id="article"><a href="/9">Link 9</a></li>
            <li id="article"><a href="/10">Link 10</a></li>
        </ul>
    </li>
  <div id="admin">Admin Controls</div>
    <li><a href="#">Awesome Links</a>
        <ul>
            <li id="article"><a href="/11">Link 11</a></li>
            <li id="article"><a href="/12">Link 12</a></li>
        </ul>
    </li>
</ul>

Я добавил Tree.js в свой основной файл mootools.js.

Это мой JS-звонок:

window.addEvent('domready', function(){
       var tree = new Tree('#tree');
        tree.serialize();
});

Как есть, сортировка дерева не работает.

Мысли

Ответы [ 2 ]

1 голос
/ 27 ноября 2011

В экземпляре вы передаете селектор "#tree. Если класс дерева ожидает идентификатор, вы не используете знак фунта, а просто" дерево ". В MooTools есть $ fn для поиска идентификаторов и$$ fn для полных поисков селектора, есть разные причины, по которым они решили разделить их.

0 голосов
/ 31 августа 2013

Нашел этот вопрос и подумал об ответе.
Хотя я немного опоздал, но я не был членом SO, когда вы задавали этот вопрос:)

Что я изменил, чтобы это работало:

  • Вам нужно передать только tree, идентификатор без #.
  • В вашем дереве должны быть только элементы <ul> и <li>, иначе tree.js не будетбыть в состоянии перетащить их на нормальных div.
  • Вам нужны уникальные идентификаторы, я переименовал всех вас id="admin" в class="admin" вместо.

Так что вы можете использоватьjavascript / mootools вроде:

window.addEvent('domready', function(){
       var tree = new Tree('tree');
        tree.serialize();
});

Демо здесь

...