Атрибут команды Xul's listitem не работает? - PullRequest
3 голосов
/ 06 января 2011

атрибут Xul's listitem command не работает?

Я сделал этот пример, и он просто не работает:

<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>

<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

    <commandset>
        <command id="cmd_dump" oncommand="dump('ok');" />
    </commandset>

    <vbox style="background:#FFFFFF;" flex="1">
        <spacer flex="1" />
        <hbox pack="center">

            <listbox flex="1">
                <listitem label="Test1" command="cmd_dump" />
                <listitem label="Test2" command="cmd_dump" />
            </listbox>

        </hbox>
        <spacer flex="1" />
    </vbox>

</window>

Как заставить его работать

Ответы [ 3 ]

2 голосов
/ 28 января 2011

Я тоже не работал на меня. Но создание type = checkbox вызывает command. Вы можете избавиться от флажка, используя абсолютное позиционирование и отрицательные поля, но это безобразный хак.

Лучшим способом было бы прослушать событие click <listitem> в Javascript.

Как сказал Седрик, это может быть ошибкой, хотя пример для контроллеров - MDC работает.

2 голосов
/ 27 января 2011

Том - я пришел к тому же выводу, что и вы, попробовав по-другому заставить команду работать, и быстро проверил в Интернете (я даже нашел один из ваших постов на форуме с начала месяца) .

Однако, пробовали ли вы его со старой версией Firefox (или старой версией движка XULRunner)? Может быть, вы можете немного изменить, если хотите, чтобы ваш экран был, например, использовать команду при выходе из него, чтобы избежать этой проблемы?

Возможно, стоит задать свой вопрос на этом канале: #xul на irc.mozilla.org. Возможно, они скажут вам, что это ошибка.

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

Обычно списки предназначены для предоставления единственного или множественного выбора, а не списка действий. Насколько я могу судить по вашему вопросу, вы предоставляете какой-то пользовательский интерфейс настройки, и в этом случае у вас есть несколько вариантов:

  1. Создать список с множественным выбором. Пользователь выбирает элементы, которые они хотят. Это может быть громоздким, потому что им нужно помнить, чтобы удерживать клавишу Ctrl, чтобы переключать выбор конкретного элемента.
  2. Создать список с несколькими флажками. Пользователь отмечает пункты, которые они хотят.
  3. Укажите два списка и кнопки с надписями (например, «Добавить →» и «← Удалить»). Это также позволяет использовать опции «Переместить вверх» и «Переместить вниз», чтобы позволить пользователю изменить порядок выбранных элементов.
...