Изображение расширителя корневых узлов jQuery TreeTable скрыто в IE6, почему? - PullRequest
1 голос
/ 18 ноября 2009

В IE6 графическое изображение для корневого узла в таблице не отображается. Если расположить мышь в правильном месте рядом с текстом корневых узлов, я фактически смогу щелкнуть на расширителе.

Расширитель обнаруживается для всех дочерних узлов.

Странно, что примеры на сайте TreeView показывают изображение корневого расширителя в IE6. Я не вижу разницы между кодом примеров и моим. Я провел параллельное сравнение CSS для рассматриваемых элементов, и у меня ничего не вышло.

У меня нет дополнительных стилей, кроме той, которая поставляется с плагином.

<script type="text/javascript">
    $(document).ready(function() {
        $("#tree").treeTable();
    });
</script>

-

<body>
    <table id="tree">
      <tr id="node-1">
        <td>Parent</td>
      </tr>
      <tr id="node-2" class="child-of-node-1">
        <td>Child</td>
      </tr>
      <tr id="node-3" class="child-of-node-2">
        <td>Child</td>
      </tr>
    </table>
</body>

Ответы [ 2 ]

2 голосов
/ 07 октября 2010

Просто для справки, так как я тоже столкнулся с этой проблемой ...

Первое родительское изображение не отображается, поскольку пространство для изображения слишком мало, поэтому необходимо изменить treetable.css и treetable.js.

В jquery.treeTable.js измените строку:

cell.prepend('<span style="margin-left: -' + options.indent + 'px; padding-left: ' + options.indent + 'px" class="expander"></span>'); To:

cell.prepend('<span class="expander"></span>');

И в jquery.treeTable.css добавьте две последние строки (margin-left и padding-left) в.

.treeTable tr td .expander {  
background-position: left center;  
background-repeat: no-repeat;  
cursor: pointer;  
padding: 0;  
zoom: 1; /* IE7 Hack */    
margin-left: -3px;  
padding-left: 15px;}

°°°°°°°°°°°°°°°°°°°°°°°°° Я не модифицировал код, приведенный выше совет был взят из: http://javathoughts.capesugarbird.com/2009/03/jquery-tree-table-for-wicket.html

-VicSan.

0 голосов
/ 26 января 2011

Я согласен с решением VicSan, хотя я предпочитаю не изменять исходный код TreeTable (поэтому я могу обновить его до будущих версий без необходимости повторного внесения изменений в новый код). Поэтому я предлагаю вам просто добавить padding-left в атрибут стиля первой ячейки первой строки вашей древовидной таблицы (корень):

<body>
    <table id="tree">
      <tr id="node-1">
        <td style="padding-left: 19px">Parent</td>
      </tr>
      <tr id="node-2" class="child-of-node-1">
        <td>Child</td>
      </tr>
      <tr id="node-3" class="child-of-node-2">
        <td>Child</td>
      </tr>
    </table>
</body>

Я поставил 19px, потому что это значение по умолчанию, но, если вы указали другое значение в опции indent (когда вы создаете древовидную таблицу с .treeTable(...)), укажите это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...