2011-07-07 9 views
2

私はYUI 2.8.1 DataTableをチェックボックス列で作成しようとしています。ユーザーが行を選択すると強調表示されますが、ユーザーがチェックボックスをオンにしたときは表示されません。YUI 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 
}); 

答えて

1

checkboxClickEvent

から偽の復帰
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; 
}); 
関連する問題