我正在尝试使用复选框列创建YUI 2.8.1 DataTable。当用户选择该行时,它应该突出显示,但不会在用户选中复选框时显示。
我试图通过在checkboxClickEvent中设置cancelBubble = true
来抑制rowClickEvent,但是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
});
答案 0 :(得分:1)
从checkboxClickEvent
返回false答案 1 :(得分: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;
});