2

チェックボックス列を持つ YUI 2.8.1 DataTable を作成しようとしています。ユーザーが行を選択すると強調表示されますが、ユーザーがチェックボックスをオンにすると強調表示されません。

チェックボックスClickEventに設定してrowClickEventを抑制しようとしてcancelBubble = trueいますが、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
});
4

2 に答える 2

1

チェックボックスClickEventからfalseを返す

于 2011-07-08T04:32:01.433 に答える
0

行のクリックを抑制するフラグを設定することで問題を回避しましたが、バブルを「適切に」キャンセルする方法を知りたいです。

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;
});
于 2011-07-07T15:14:19.180 に答える