onRowSelect与onRowDblClick一起触发

时间:2012-11-02 11:44:12

标签: javascript jquery events dhtmlx

我有dhtmlx网格,我附加了两个事件:

var click_flag = false;
        dhxGrid.attachEvent("onRowDblClicked", function (rowId, cellIndex) {
            click_flag = true;
            ...                
        });
        dhxGrid.attachEvent("onRowSelect", function (rowId, cellIndex) {
            if (!click_flag) {
                ...     
            }           
        });

但是onRowSelect总是被触发,即使我双击一行网格也是如此。有没有办法阻止它执行?我尝试使用click_flag但它不起作用。

1 个答案:

答案 0 :(得分:0)

由浏览器的行为引起(dbl-click操作也会生成单击事件) 您可以使用一些自定义时序逻辑来分隔两个事件,例如下一个

var click_timer;
dhxGrid.attachEvent("onRowDblClicked", function (rowId, cellIndex) {
    if (click_timer) clearTimeout(click_timer);
    ... actual ondblclick code here ...
});
dhxGrid.attachEvent("onRowSelect", function (rowId, cellIndex) {
    click_timer = window.setTimeout(function(){
        ... actual onrowselect code here ...
    }, 250);
});