Как отменить всплывающее окно события в YUI DataTable? - PullRequest
2 голосов
/ 07 июля 2011

Я пытаюсь создать таблицу данных YUI 2.8.1 со столбцом флажка. Когда пользователь выбирает строку, она должна выделяться, но не тогда, когда пользователь устанавливает флажок.

Я пытаюсь подавить rowClickEvent, установив cancelBubble = true в checkboxClickEvent, но библиотека YUI игнорирует это. Как предотвратить запуск rowClickEvent?

this.testDataTable.subscribe("checkboxClickEvent", function (oArgs)
{
    var elCheckbox = oArgs.target;
    var oRecord = this.getRecord(elCheckbox);
    oRecord.setData("check", elCheckbox.checked);
    oArgs.event.cancelBubble = true; //Event bubbles anyway
});

Ответы [ 2 ]

1 голос
/ 08 июля 2011

вернуть false из флажкаClickEvent

0 голосов
/ 07 июля 2011

Я обошел эту проблему, установив флажок для подавления щелчка строки, но мне все еще хотелось бы знать, как правильно отменить всплывающее окно.

suppressHighlight = false;

this.testDataTable.onEventRowClick = function (oArgs)
{
    ...

    if (!suppressHighlight)
    {
        ...
    }
    suppressHighlight = false;
};
this.testDataTable.subscribe("rowClickEvent", this.testDataTable.onEventRowClick);

this.testDataTable.subscribe("checkboxClickEvent", function (oArgs)
{
    var elCheckbox = oArgs.target;
    var oRecord = this.getRecord(elCheckbox);
    oRecord.setData("Check", elCheckbox.checked);

    suppressHighlight = true;
});
...